目录
C语言中,用值进行函数的参数传递时,在函数中,用作实际参数的变量无法被函数改变。因此使用指向变量的指针作为参数,允许函数既可以读取变量,也可以修改变量.
1.用函数简单求和
#include <stdio.h>
int add(int x, int y)
{
int z;
z = x + y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
scanf_s("%d %d", &num1, &num2);
int sum=add(num1, num2);
printf("%d\n",sum);
return 0;
}
2.小鱼的航程(改进版)
有一只小鱼,它平日每天游泳 250 公里,周末休息(实行双休日),假设从周 x(1≤x≤7) 开始算起,过了 n(n≤106 ) 天以后,小鱼一共累计游泳了多少公里呢?
输入格式
输入两个整数x,n(表示从周x算起,经过n天)。
输出格式
输出一个整数,表示小鱼累计游泳了多少公里。
#include <stdio.h>
#include <stdlib.h>
void solution(int x, int n) {
int arr[7] = { 250,250,250,250,250,0,0 };
int m = 0;
int i = 1;
for (i; i <= n; i++) {
if (x > 7)
x %= 7;
m = m + arr[x - 1];
x = x + 1;
}
printf("%d\n", m);
}
int main() {
int arr1[2];
for (int i = 0; i < 2; i++)
{
scanf_s("%d", &arr1[i]);
}
int x = arr1[0];
int n = arr1[1];
solution(x, n);
return 0;
}
3.求正整数的平方
使用while循环修改变量值,依次打印10以内(包含10)所有正整数的平方
#include <stdio.h>
int main() {
int num = 1;
int max_num = 10;
int result = 0;
for (num; num <= max_num; num++) {
result = num * num;
printf("%d ^2 = %d\n", num, result);
}
}
4.计算圆的面积
使用常量表示圆周率π,并计算半径为2的圆的面积。
#include <stdio.h>
#define PI 3.14
int main() {
//const float PI = 3.14;
float r = 2.0;
float s = PI * r * r;
printf("半径为%.2f的圆的面积为%.2f", r, s);
}
5.打印学生基本信息
#include <stdbool.h>
#include <stdio.h>
int main(){
int student_id = 1001;
char name[] = "张三";
char sex[] = "男";
int age = 18;
bool only_child = true;
float height = 170.50;
float weight = 55.25;
printf("学号:\t%d\n", student_id);
printf("姓名:\t%s\n", name);
printf("性别:\t%s\n", sex);
printf("年龄:\t%d\n", age);
printf("身高:\t%.2f\n", height);
printf("体重:\t%.2f\n", weight);
printf("是否独生子女:\t%s\n", only_child ? "是" : "否");
return 0;
}
6.英文字母判断
#include <stdio.h>
int main() {
char ch;
printf("请输入一个字符:\n");
scanf_s("%c", &ch);
if ((ch >= 97 && ch <= 122) || (ch >= 65 && ch <= 90))
printf("字符 '%c' 是一个英文字母\n", ch);
else
printf("字符 '%c'不是一个英文字母\n", ch);
}
7.打印被10整除的数
打印100以内(包含100)能被10整除的正整数
#include <stdio.h>
int main() {
int i = 1;
for (i; i <= 100; i++) {
if (i % 10 == 0)
printf("%d\t", i);
}
}
8.判断正整数的位数
输入一个正整数,判断其一共包含多少位,
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个数:\n");
scanf_s("%d", &num);
while (num > 0) {
num = num / 10;
count++;
}
printf("位数为:%d", count);
return 0;
}
9.区间是否重叠
#include <stdio.h>
#define max(a,b)((a>b)?a:b)
#define min(a,b)((a<b)?a:b)
int main() {
int s1, e1, s2, e2;
printf("请输入第一个区间:\n");
scanf_s("%d,%d", &s1, &e1);
printf("请输入第二个区间:\n");
scanf_s("%d,%d", &s2, &e2);
if(max(s1,s2)>min(e1,e2))
printf("两个区间不重叠!");
else
printf("两个区间重叠!");
return 0;
}
10.判断闰年
#include <stdio.h>
int main() {
int year;
printf("请输入年份:\n");
scanf_s("%d", &year);
if(year%400==0||(year%4==0&&year%100!=0))
printf("是闰年");
else
printf("不是闰年");
return 0;
}
11.邮费价格表
打印邮费价格表,输出20kg以内物品的邮费价格表,邮费计算规则如下所示:
* 1kg以内6元。
* 超过1kg,每增加1kg加收2元。
#include <stdio.h>
int main() {
int weight, cost;
printf("重量\t价格\n");
for (weight = 1; weight <= 20; weight++) {
cost = 6 + (weight - 1) * 2;
printf("%d\t%d\n", weight, cost);
}
return 0;
}
12.if语句:三个数从小到大排序并输出
任意输入3个整数,使用if语句对这3个整数由小到大进行升序排序。
#include <stdio.h>
void swap(int* x, int* y) {
int m;
m = *x;
*x = *y;
*y = m;
}
int main() {
int a,b,c;
printf("输入三个数\n");
scanf_s("%d,%d,%d", &a, &b, &c);
if (a > b)
swap(&a, &b);
if (a > c)
swap(&a, &c);
if (b > c)
swap(&b, &c);
printf("升序排序结果:\n");
printf("%d,%d,%d", a, b, c);
return 0;
}
C语言中,用值进行函数的参数传递时,在函数中,用作实际参数的变量无法被函数改变。因此使用指向变量的指针作为参数,允许函数既可以读取变量,也可以修改变量.
13.if-else语句:两数较大值
输入两个整数,使用if-else语句求两个整数之间的较大值。
#include <stdio.h>
int main() {
int a,b;
printf("输入两个数\n");
scanf_s("%d,%d", &a, &b);
if (a > b)
printf("较大的数是%d\n", a);
else
printf("较大的数是 % d\n", b);
return 0;
}
14.else-if语句:判断三角形的类型
输入三角形各边的长度,并判断三角形的类型。
#include <stdio.h>
int main() {
int a,b,c;
printf("输入三角形的三条边\n");
scanf_s("%d,%d,%d", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
if (a == b && b == c)
printf("等边三角形\n");
else if (a == b || a == c || b == c)
printf("等腰三角形\n");
else if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (b * b + c * c == a * a))
printf("直角三角形\n");
else
printf("普通三角形\n");
}
else
printf("不是三角形\n");
return 0;
}
15.switch语句:成绩转换
输入成绩(百分制),将成绩转换为相应的等级,并输出。具体转换规则为:
* 大于等于90分为等级A;
* 小于90分且大于等于80分为等级B;
* 小于80分且大于等于70分为等级C;
* 小于70分且大于等于60分为等级D;
* 小于60分为等级E。
#include <stdio.h>
int main() {
int score;
printf("请输入成绩:\n");
scanf_s("%d",&score);
if (score < 0 || score>100) {
printf("请输入0-100的分数!");
}
int q = score / 10;
switch(q){
case 10:
case 9:
printf("A");
break;
case 8:
printf("B");
break;
case 7:
printf("C");
break;
case 6:
printf("D");
break;
default:
printf("E");
break;
}
return 0;
}