c语言顺序分支程序试题,c语言简单入门之顺序程序与分支程序

C语言中的顺序程序,类似与下面的程序都叫顺序程序:

一,简单输出变量的值

facd85b274cf4aac5afbb22d122030c0.png

二,接收用户输入的值,存入变量中,并打印出来

5d18ecbbe99482538de8d29de4e682d8.png

三,用户输入两个数,算出两个数相乘的值和相加的值

e2ff872206a32aa2e5c62bf636ae184e.png

C语言中的分支结构程序,类似与下面的程序都是分支结构程序:

一,分支语句之 if 语句(当条件成立就执行{}里面的表达式)

e425da43ad100b9c5965dc3dc8378605.png

二,分支语句之 if else语句(当条件成立执行{}里的表达式,条件不成了,则执行else{}里面的表达式)

6e5734652f4d3a24de393f6789bd8cee.png

三,分支语句之多重分支 (If   else if    else if   else if  else)

/*****************************************************************

*企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于****

*10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成***

*7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于****

*40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于*

*100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?***

*******************************************************************/

double i,d,s;

printf("输入利润值:");

scanf_s("%lf", &i);

if (i<=100000)

{

d = 10;

}

else if (i > 100000 && i<=200000)

{

d = 7.5;

}

else if (i > 200000 && i <= 400000)

{

d = 5;

}

else if (i > 400000 && i <= 600000)

{

d = 3;

}

else if (i > 600000 && i <= 1000000)

{

d = 1.5;

}

if (i > 1000000)

{

d = 1;

}

s = i * (d / 100.0);

printf("%lf", s);

四,分支语句之嵌套语句

/**************************************

*输入某年某月某日,判断这一天是这一年的第几天?*

**************************************/

int y, m, d,sum,leap;

printf("输入年约日");

scanf_s("%d,%d,%d", &y, &m,&d);

switch (m)

{

case 1:sum = 0; break;

case 2:sum = 31; break;

case 3:sum = 59; break;

case 4:sum = 90; break;

case 5:sum = 120; break;

case 6:sum = 151; break;

case 7:sum = 181; break;

case 8:sum = 212; break;

case 9:sum = 243; break;

case 10:sum = 273; break;

case 11:sum = 304; break;

case 12:sum = 334; break;

default:

break;

}

sum = sum + d;

if (y % 4 == 0 && y % 100 != 0)

{

if (m>2)

{

leap = 1;

}

}

else

{

leap = 0;

}

if (leap)

{

sum++;

}

printf("%d", sum);

C语言中的循环结构程序,类似与下面的程序都叫循环结构程序:

一,while循环

f8a61874b27a8702952f565dd7c863b3.png

二,do while循环

cc0acd8370430e91e86833a0eed34314.png

三,for循环

/*

把100-200之间的不能被3整除的数输出

*/

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

{

if (i % 3 == 0)

{

continue;

}

printf("%d\n", i);

}

/*

斐波那契数 1 1 2 3 5 8 13

*/

int f1=1, f2=1;

int i;

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

{

printf("%d,%d\n", f1, f2);

f1 = f1 + f2;

f2 = f1 + f2;

}

/*

输出9*9的乘法表

*/

int i, j, sum;

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

{

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

{

sum = i * j;

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

}

printf("\n");

}

int i, j, sum;

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

{

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

{

sum = i * j;

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

}

printf("\n");

}

四,switch判断

c07315a274ad0e66aab476d28003ec2a.png

/*

输入某年某月某日,判断这一天是这一年的第几天?

*/

int y, m, d,sum,leap;

printf("输入年约日");

scanf_s("%d,%d,%d", &y, &m,&d);

switch (m)

{

case 1:sum = 0; break;

case 2:sum = 31; break;

case 3:sum = 59; break;

case 4:sum = 90; break;

case 5:sum = 120; break;

case 6:sum = 151; break;

case 7:sum = 181; break;

case 8:sum = 212; break;

case 9:sum = 243; break;

case 10:sum = 273; break;

case 11:sum = 304; break;

case 12:sum = 334; break;

default:

break;

}

sum = sum + d;

if (y % 4 == 0 && y % 100 != 0)

{

if (m>2)

{

leap = 1;

}

}

else

{

leap = 0;

}

if (leap)

{

sum++;

}

printf("%d", sum);

记录下练习题,方面自己过来复习!!!

#include #if 0

long factorial(int a);

void main()

{

int a= 5;

long result = factorial(a);

printf("%ld", result);

}

long factorial(int a)

{

long sum ;

if (a == 1 || a == 0)

{

sum = 1;

}

else

{

sum = a * factorial(a - 1);

}

return sum;

}

#endif // 0

#if 0

//一个一维数组存有10个学生的成绩,求出平均成绩

int average(int a[]);

void main()

{

int s;

int b[10] = { 87,56,86,56,87,57,86,68,85,78 };

s = average(b);

printf("%d", s);

}

int average(int a[])

{

int i = 0, sum = 1;

int aver = 1;

for (; i < 10; i++)

{

sum += a[i];

}

aver = sum / 10;

return aver;

}

#endif // 0

#if 0

//用户随意输入10次分数,求出平均分、最高分、最低分,并打印出来

double max = 0, min = 0;

void main()

{

double average(double array[], int n);

double ave=0,array[10];

int i;

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

{

scanf_s("%lf", &array[i]);

}

ave = average(array, 10);

printf("average=%lf,max=%lf,min=%lf", ave, max, min);

}

double average(double array[], int n)

{

int i;

double ave,sum = array[0];

max = min = array[0];

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

{

if (array[i] > max)

{

max = array[i];

}

else if (array[i] < min)

{

min = array[i];

}

sum += array[i];

}

ave = sum / n;

return ave;

}

#endif // 0

#include #include #define M 10

void main()

{

int a = 23;

//printf("%d", a);

putchar("A");

char c;

printf("input a character\n");

c = getchar();

putchar(c);

int a = 15;

float b = 123.1234567;

double c = 12345678.1234567;

char d = "p";

printf("a=%d,%5d,%o,%x\n", a, a, a, a);

printf("b=%f,%lf,%5.4lf,%e\n,", b, b, b, b);

printf("c=%lf,%f,%8.6lf,", c, c, c);

printf("d=%c,%8c\n", d, d);

int a, b, c, temp;

printf("please is int:");

scanf_s("%d%d%d", &a, &b, &c);

if (a > b)

{

temp = a;

a = b;

b = temp;

}

if (a > c)

{

temp = a;

a = c;

c = temp;

}

if (b > c)

{

temp = b;

b = c;

c = temp;

}

printf("%d,%d,%d", a, b, c);

int i, j;

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

{

for (j = 7-i; j >=1; j--)

{

printf("*");

}

printf("\n");

}

double pi = 3.14159,area;

int r;

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

{

area = pi * r*r;

if (area > 100)

{

break;

}

printf("%d,%lf\n", r, area);

}

int i, max, a[10];

printf("input is int:");

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

{

scanf_s("%d", &a[i]);

}

max = a[0];

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

{

if (a[i] > max)

{

max = a[i];

}

}

printf("max is %d", max);

//斐波拉挈数

int i, a[20] = { 1,1 };

for (i = 2; i < 20; i++)

{

a[i] = a[i - 1] + a[i - 2];

}

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

{

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

}

//冒泡排序

int i, min, x,y,a[10] = { 3,6,7,4,9,1,5,8,0,2 };

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

{

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

{

min = a[i];

if (min > a[x])

{

y = min;

a[i] = a[x];

a[x] = y;

}

}

}

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

//求平均数

int i, j, sum = 0, arem, v[3];

int stu[5][3] = { {67,86,64},{76,78,89},{99,87,55},{76,65,98},{68,97,91} };

for (i = 0; i < 3; i++)//三门成绩

{

for (j = 0; j < 5; j++)//五个学生

{

sum += stu[j][i];

}

v[i] = sum / 5;

sum = 0;

}

arem = (v[0] + v[1] + v[2]) / 3;

printf("%d", arem);

//将一个二维数组a[2][3]转换成a[3][2]

int i, j, b[3][2];

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

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

{

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

{

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

}

}

printf("%d,%d", b[0][0], b[0][1]);

//有一个3*4的矩阵,求出里面最大值,输出最大值和它的行号和列号

int i, j, max, row, low;

int a[3][4] = { {12,34,56}, {45,23,29},{65,67,42} };// a[2][1] = 67

max = a[0][0];

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

{

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

{

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

{

max = a[i][j];

row = i;

low = j;

}

}

}

printf("%d,%d,%d", row ,low, max);

//键盘上输入9个数字,按九宫格填好,三行三列排布,输出数组中的第一行和第一列的数值

int i, j, a[3][3];

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

{

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

{

scanf_s("%d", &a[i][j]);

}

printf("\n");

}

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

{

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

{

if (1 == i || 1 == j)

{

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

}

else

{

printf("%6c",' ');

}

}

printf("\n");

}

//数组查找------------------二分法

int n, low, mid, hight, found;

int a[M] = { -10,-4,0,5,7,84,243,345,678,2345 };

printf("输入你要在数组中查找的数字:");

scanf_s("%d", &n);

low = 0;

hight = M - 1;

found = 0;

while (low <= hight)

{

mid = (low + hight) / 2;

if (n == a[mid])

{

found = 1;

}

if (n < a[mid])

{

hight = mid - 1;

}

else

{

low = mid + 1;

}

}

if (found == 1)

{

printf("你找的数字在数组中,下标为%d,值为%d", mid-1, n);

}

else

{

printf("你找的数字没有在数组中");

}

/****************************

*有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

**********************************/

int i, j, k;

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

{

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

{

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

{

if (i != k && i != j && j != k)

{

printf("%d%d%d\n", i, j, k);

}

}

}

}

/*

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

*/

//double i,d,s;

//printf("输入利润值:");

//scanf_s("%lf", &i);

//if (i<=100000)

//{

//d = 10;

//}

//if (i > 100000 && i<=200000)

//{

//d = 7.5;

//}

//if (i > 200000 && i <= 400000)

//{

//d = 5;

//}

//if (i > 400000 && i <= 600000)

//{

//d = 3;

//}

//if (i > 600000 && i <= 1000000)

//{

//d = 1.5;

//}

//if (i > 1000000)

//{

//d = 1;

//}

//s = i * (d / 100.0);

//printf("%lf", s);

/*

输入某年某月某日,判断这一天是这一年的第几天?

*/

int y, m, d,sum,leap;

printf("输入年约日");

scanf_s("%d,%d,%d", &y, &m,&d);

switch (m)

{

case 1:sum = 0; break;

case 2:sum = 31; break;

case 3:sum = 59; break;

case 4:sum = 90; break;

case 5:sum = 120; break;

case 6:sum = 151; break;

case 7:sum = 181; break;

case 8:sum = 212; break;

case 9:sum = 243; break;

case 10:sum = 273; break;

case 11:sum = 304; break;

case 12:sum = 334; break;

default:

break;

}

sum = sum + d;

if (y % 4 == 0 && y % 100 != 0)

{

if (m>2)

{

leap = 1;

}

}

else

{

leap = 0;

}

if (leap)

{

sum++;

}

printf("%d", sum);

/*

把100-200之间的不能被3整除的数输出

*/

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

{

if (i % 3 == 0)

{

continue;

}

printf("%d\n", i);

}

/*

求pi的值

pi/4 = 1-1/3+1/5-1/7+1/9...

*/

int s;

double n, t, pi;

s = 1; n = 1.0; pi = 0; t = 1;

while (fabs(t) > 1e-20)

{

pi = pi + t;

n +=2;

s = -s;

t = s / n;

}

pi = pi * 4;

printf("%10.20lf", pi);

/*

斐波那契数 1 1 2 3 5 8 13

*/

int f1=1, f2=1;

int i;

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

{

printf("%d,%d\n", f1, f2);

f1 = f1 + f2;

f2 = f1 + f2;

}

/*

输出9*9的乘法表

*/

int i, j, sum;

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

{

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

{

sum = i * j;

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

}

printf("\n");

}

int i, j, sum;

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

{

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

{

sum = i * j;

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

}

printf("\n");

}

/*

输出国家象棋棋盘

*/

int i, j;

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

{

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

if ((i + j) % 2 == 0)

printf("%c", 23);

else

printf(" ");

printf("\n");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值