admin 管理员组

文章数量: 887021


2023年12月19日发(作者:第1ppt模板网免费下载官网)

//1.成绩判断

#include

int main()

{

//成绩

int score;

printf("请输入你的成绩:n");

scanf("%d", &score);

//判断

if(score >=0 && score < 60)

{

printf("不及格n");

}

else if(60 <= score && score < 80)

{

printf("中等n");

}

else if(80 <= score && score < 100) {

printf("优秀n");

}

else

{

printf("输入错误!n");

}

}

//2.计算1到100的和

#include

int main()

{

int sum = 0; //存结果变量

int i;

for(i=1;i <= 100;i++)

{

sum = sum + i;

}

printf("sum=%dn", sum);

}

//3.最大公约数

#include

//求m,n的最大公约数

int main()

{

int m, n;

int i, k;

printf("请输入两个数:");

scanf("%d %d", &m, &n);

//三元运算符找较小的那个

k = m < n ? m : n;

//从较小的那个数倒着往前找

for(i=k; i>=1; i--)

{

//这是公约数

if((m % i == 0) && (n % i ==0))

{

printf("最大公约数是%dn", i);

break; //跳出for循环

}

}

}

//4.最小公倍数

#include

//求m,n的最小公倍数

int main()

{

int m, n;

int max, min; //m,n中较大,较小的那个

int k; //max, 2*max, 3*max, .....

printf("请输入两个数:");

scanf("%d %d", &m, &n);

//也可以交换m,n,保证m小n大

max = m > n ? m : n;

min = m < n ? m : n;

k = max; //从max开始

while(k % min != 0)

{

k += max; //每次倍增

}

printf("最小公倍数是%dn", k);

}

//5.金字塔

#include

//金字塔

int main()

{

int i; //外层

int j; //内层

for(i=1;i<=10;i++)

{

//当前是在第i行

//先补空格10-i个

for(j=1;j<=10-i;j++)

{

printf(" ");

}

//再打2i-1个*

for(j=1;j<=2*i-1;j++)

{

printf("*");

}

printf("n");

}

}

//6.九九乘法表

#include

//打印九九乘法表

int main()

{

int i,j;

for(i=1;i<=9;i++) //外层一定是9行

{

for(j=1; j<=i; j++) //内层第几行走几遍

{

printf("%d*%d=%d ", i, j, i*j);

}

printf("n");

}

}

//7.百钱买百鸡

#include

/**

百钱买百鸡,类似1,2,5凑100银币问题

*/

int main2()

{

int i,j;//公鸡,母鸡个数

for(i=0; i<=20; i++) //公鸡

{

for(j=0; j<=33; j++) //母鸡

{

if( (15*i + 9*j + (100-i-j)) == 300)

{

printf("公鸡%d,母鸡%d,小鸡%dn", i, j, 100-i-j);

}

}

}

}

//1,2,5凑100银币问题

int main3()

{

int count = 0; //情况数

int i,j;//5分个数,2分个数

for(i=0; i<=20; i++) //5分个数

{

for(j=0; j<=50; j++) //2分个数

{

if( ( 5*i + 2*j ) <= 100 )

{

count++;

printf("%d: 5分%d个,2分%d个,1分%d个n", count, i, j, 100-5*i-2*j);

}

}

}

}

//8.一维数组的最大值、最小值、平均值

#include

#define N 10 //宏定义常量

int main()

{

int i;//下标索引

int max, min;

double sum = 0; //累加和

int a[N] = {58, 58, 96, 100, 25, 55, 66, 88,

99, 77};

max = a[0]; //假设第一个最大

min = a[0]; //假设第一个最小

for(i=1; i

{

if(a[i] > max) //比最大值还大

max = a[i]; //你才是最大

if(a[i] < min) //比最小值还小

min = a[i]; //你才是最小

sum += a[i];

}

printf("max=%d, min=%dn", max, min);

printf("average = %.2lfn", sum/N);

}

//9.二维数组的最大值、最小值、平均值

#include

int main()

{

int i; //第几行

int j; //第几列

int a[3][4] = { {1,2,3,4}, {5,-6,7,8},

{9,19,39,0}};

int max = a[0][0]; //假设你最大

int min = a[0][0]; //假设你最小

double average; //平均值

double sum = 0; //总和

for(i=0; i<3; i++) //必定3行

{

for(j=0; j<4; j++) //必定4列

{

printf("%5d ", a[i][j]);

sum += a[i][j];

if(a[i][j] > max)

max = a[i][j];

if(a[i][j] < min)

min = a[i][j];

}

printf("n");

}

average = sum / (3*4);

printf("max=%d, min=%d, avg=%.2lfn",

max, min, average);

}

//10.二维数组转置

#include

//二维数组转置:行变列,列变行

//11.冒泡排序

#include

#define N 10 //宏定义常量

int main()

{

int i; //第几行

int j; //第几列

int a[3][4] = { {1,2,3,4},

{9,19,39,0}};

int b[4][3];

for(i=0; i<3; i++)

{

for(j=0; j<4; j++)

{

printf("%5d", a[i][j]);

}

printf("n");

}

//矩阵转置

for(i=0; i<3; i++)

{

for(j=0; j<4; j++)

{

b[j][i] = a[i][j];

}

}

for(i=0; i<4; i++)

{

for(j=0; j<3; j++)

{

printf("%5d", b[i][j]);

}

printf("n");

}

}

{5,-6,7,8},

int main()

{

int i; //下标索引

int j;

int tmp; //临时交换用

int a[N] = {58, 58, 96, 100, 25, 55, 66, 88,

99, 77};

//外层循环一定是N-1

for(i=0; i

{

//两两交换,大的往后走

for(j=0; j

{

//交换

if(a[j] > a[j+1])

{

tmp = a[j];

a[j] = a[j+1];

a[j+1] = tmp;

}

}

}

for(i=0; i

{

printf("%d ", a[i]);;

}

printf("n");

}

//12.结构冒泡排序

#include

//结构定义,用户自定义类型

typedef struct student{

char sno[20]; //学号

char name[20]; //姓名

int age; //年龄

char gender; //性别

char tel[20]; //电话

};

int main()

{

int i;

int j;

double sum = 0;

struct student tmp; //两两交换临时用;

//结构数组

struct student team[5];

for(i=0; i<5; i++)

{

printf("请输入第%d个队员的信息:n",

i+1);

scanf("%s %s %d %c %s", team[i].sno,

team[i].name, &team[i].age, &team[i].gender,

team[i].tel);

}

//按年龄冒泡排序

for(i=0; i<5; i++)

{

for(j=0; j<5-i-1; j++)

{

//两两交换

if(team[j].age > team[j+1].age)

{

tmp = team[j];

team[j] = team[j+1];

team[j+1] = tmp;

}

}

}

//取值

printf("%-12s %-10s %-5s %-5s %-15sn", "学号", "姓名", "年龄", "性别", "电话");

for(i=0; i<5; i++)

{

printf("%-12s %-10s %-5d %-5c %-15sn",

team[i].sno, team[i].name, team[i].age,

team[i].gender, team[i].tel);

}

}

//13.结构数组找年龄最大值

#include

//结构定义,用户自定义类型

typedef struct student{

char sno[20]; //学号

char name[20]; //姓名

int age; //年龄

char gender; //性别

char tel[20]; //电话

};

int main()

{

int i;

struct student tmp; //找最大临时用

//结构数组

struct student team[5];

for(i=0; i<5; i++)

{

printf("请输入第%d个队员的信息:n", i+1);

scanf("%s %s %d %c %s",

team[i].sno, team[i].name, &team[i].age,

&team[i].gender, team[i].tel);

}

//取值

printf("%-12s %-10s %-5s %-5s %-15sn", "学号", "姓名", "年龄", "性别", "电话");

for(i=0; i<5; i++)

{

printf("%-12s %-10s %-5d %-5c %-15sn", team[i].sno, team[i].name, team[i].age,

team[i].gender, team[i].tel);

}

//找学号最大的那一个

tmp = team[0];

for(i=1; i<5; i++)

{

if(strcmp(team[i].sno,) >

0 )

{

tmp = team[i];

}

}

printf("学号最大的队员如下:n");

printf("%-12s %-10s %-5d %-5c %-15sn", , , ,

, );

}

//14.文件读写

#include

#include

//结构定义,用户自定义类型

typedef struct student{

char sno[20]; //学号

char name[20]; //姓名

int age; //年龄

char gender; //性别

char tel[20]; //电话

};

//文件读写

int main()

{

struct student * s, * p1; //个数未知

FILE * fp;

int i, n = 0;

char buf[1024];//fgets缓冲区

//打开文件

fp = fopen("e:", "r");

while(fgets(buf, 1024, fp) != NULL)

n++;

fclose(fp);

//指向一个可以存储n个student结构的内存空间

s = (struct student *)malloc(sizeof(struct

student) * n);

p1 = s; //不要动头位置s的值

//打开文件

fp = fopen("e:", "r");

for(i=0; i

{

//从文件中读入一行

fscanf(fp, "%s %s %d %c %s", p1->sno,

p1->name, &p1->age, &p1->gender, p1->tel);

p1++;

}

fclose(fp);

p1 = s;

for(i=0; i<3; i++)

{

printf("%s %s %d %c %sn", p1->sno,

p1->name, p1->age, p1->gender, p1->tel);

}

free(s);

}

//15.输入三角形三边长计算周长和面积

#include

#include

int main() case 10:

{ case 12:printf("31");break;

double area,perimeter,s,a,b,c; case 4:

case 6:

printf("请输入三边长 a b c:");

scanf("%lf%lf%lf",&a,&b,&c); case 9:

if((a+b>c) && (a+c>b) && (b+c>a)) case 11:printf("30");break;

{ case 2:printf("%d",28+leap);break;

s=(a+b+c)/2; default:printf("error");break;

area=sqrt(s*(s-a)*(s-b)*(s-c)); }

perimeter=a+b+c;

printf("area=%.2f,perimeter=%.2fn",area,perimeter);

}

else

{

printf("三边长无法构成三角形。n");

}

return 0;

}

//16.输入年份和月份输出对应那一月的天数,要处理闰年

#include

int main()

{

int year,month;

int leap =0;

scanf("%d %d",&year,&month);

if((year %4==0 && year %100 !=0) ||

year %400 ==0) //闰年2月29天

{

leap=1;

}

switch(month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

return 0;

}

//17.1,2,5分硬币问题

#include

int main()

{

int sum = 0;

for(int i=0; i<=20; i++)

{

for(int j=0; j<=50; j++)

{

if(5*i + 2*j <= 100) sum++;

else

break;

}

}

printf("%dn", sum);

}

//18.100到200所有的素数

#include

int main()

{

int i,j,n;

//外层

for(i=100; i<=200; i++)

//5分

//2分

{

n = i;

//内层

for(j=2;j<=n-1;j++)

{

if(n%j == 0)

break; //不是素数

}

if(j==n) //没找到

printf("%d是素数n", n);

else

printf("%d不是素数n", n);

}

}

//19.输入一个数n,计算12+22+32+…+n2

#include

int main()

{

int sum = 0;

int i, k;

scanf("%d", &k);

i = 1;

while(i <= k)

{

sum = sum + i * i;

i++;

}

printf("sum = %dn", sum);

}

//20.指针交换

//定义一个方法swap()通过指针交换两个整数 ,并在main()中调用

#include

void swap(int *pa, int *pb)

{

int tmp = *pa;

*pa = *pb;

*pb = tmp;

}

int main()

{

int a = 3;

int b = 5;

int *pa = &a;

int *pb = &b;

swap(pa, pb);

printf("a=%d, b=%dn", a, b);}


本文标签: 输入 定义 结构