http://wenku.baidu.com/link?url=17ecp5bFRtU7gKxNtkQSEBeRroL2FcF8VypSR-WjxIm_KjwkSY5LTFh9st3RmAN4j-2KUeS1N8rY4yr-ftDBEpqEsViAS1lHqABhA1RyD3W
看看这个,免费下载!希望你能采纳!
您好,c语言经典100题:
【程序1】
题目:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数 都是多少
1.程序分析:可填在百位,十位,个位的数字都是1,2,3,4.组成所有的排列后再去
掉不满足条件的排列.
2.程序源代码:
main()
{
int i,j,k;
printf("\n");
for(i1;i5;i++) /*以下为三重循环*/
for(j1;j5;j++)
for (k1;k5;k++)
{
if (i!ki!jj!k) /*确保i,j,k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
}
【程序2】
题目:企业发放的奖金根据利润提成.利润(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,求应发放奖金总数
1.程序分析:请利用数轴来分界,定位.注意定义时需把奖金定义成长整型.
2.程序源代码:
main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",i);
bonus1100000*0.1;bonus2bonus1+100000*0.75;
bonus4bonus2+200000*0.5;
bonus6bonus4+200000*0.3;
bonus10bonus6+400000*0.15;
if(i100000)
bonusi*0.1;
else if(i200000)
bonusbonus1+(i-100000)*0.075;
else if(i400000)
bonusbonus2+(i-200000)*0.05;
else if(i600000)
bonusbonus4+(i-400000)*0.03;
else if(i1000000)
bonusbonus6+(i-600000)*0.015;
else
bonusbonus10+(i-1000000)*0.01;
printf("bonus%d",bonus);
}
【程序3】
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
的结果满足如下条件,即是结果.请看具体分析:
2.程序源代码:
#include "math.h"
main()
{
long int i,x,y,z;
for (i1;i2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("it is the %dth day.",sum);}
【程序4】
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
main()
{
int day,month,year,sum,leap;
printf("\nplease input year,month,day\n");
scanf("%d,%d,%d",year,month,day);
switch(month)/*先计算某月以前月份的总天数*/
{
case 1:sum0;break;
case 2:sum31;break;
case 3:sum59;break;
case 4:sum90;break;
case 5:sum120;break;
case 6:sum151;break;
case 7:sum181;break;
case 8:sum212;break;
case 9:sum243;break;
case 10:sum273;break;
case 11:sum304;break;
case 12:sum334;break;
default:printf("data error");break;
}
sumsum+day; /*再加上某天的天数*/
if(year%4000||(year%40year%100!0))/*判断是不是闰年*/
leap1;
else
leap0;
if(leap1month2)/*如果是闰年且月份大于2,总天数应该加一天*/
sum++;
printf("It is the %dth day.",sum);}
【程序5】
题目:输入三个整数x,y,z,请把这三个数由小到大输出.
1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果xy则将x与y的值进行交换,
然后再用x与z进行比较,如果xz则将x与z的值进行交换,这样能使x最小.
2.程序源代码:
main()
{
int x,y,z,t;
scanf("%d%d%d",x,y,z);
if (xy)
{tx;xy;yt;} /*交换x,y的值*/
if(xz)
{tz;zx;xt;}/*交换x,z的值*/
if(yz)
{ty;yz;zt;}/*交换z,y的值*/
printf("small to big: %d %d %d\n",x,y,z);
}
【程序6】
题目:用*号输出字母c的图案.
1.程序分析:可先用'*'号在纸上写出字母c,再分行输出.
2.程序源代码:
#include "stdio.h"
main()
{
printf("hello c-world!\n");
printf(" ****\n");
printf(" *\n");
printf(" * \n");
printf(" ****\n");
}
【程序7】
题目:输出特殊图案,请在c环境中运行,看一看,very beautiful!
1.程序分析:字符共有256个.不同字符,图形不一样.
2.程序源代码:
#include "stdio.h"
main()
{
char a176,b219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);}
【程序8】
题目:输出9*9口诀.
1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列.
2.程序源代码:
#include "stdio.h"
main()
{
int i,j,result;
printf("\n");
for (i1;i10;i++)
{ for(j1;j10;j++)
{
resulti*j;
printf("%d*%d%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
【程序9】
题目:要求输出国际象棋棋盘.
1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格.
2.程序源代码:
#include "stdio.h"
main()
{
int i,j;
for(i0;i8;i++)
{
for(j0;j8;j++)
if((i+j)%20)
printf("%c%c",219,219);
else
printf(" ");
printf("\n");
}
}
【程序10】
题目:打印楼梯,同时在楼梯上方打印两个笑脸.
1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数.
2.程序源代码:
#include "stdio.h"
main()
{
int i,j;
printf("\1\1\n");/*输出两个笑脸*/
for(i1;i11;i++)
{
for(j1;ji;j++)
printf("%c%c",219,219);
printf("\n");
}
}
【程序11】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少
1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....
2.程序源代码:
main()
{
long f1,f2;
int i;
f1f21;
for(i1;i20;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%20) printf("\n");/*控制输出,每行四个*/
f1f1+f2; /*前两个月加起来赋值给第三个月*/
f2f1+f2; /*前两个月加起来赋值给第三个月*/
}
}
【程序12】
题目:判断101-200之间有多少个素数,并输出所有素数.
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数.
2.程序源代码:
#include "math.h"
main()
{
int m,i,k,h0,leap1;
printf("\n");
for(m101;m200;m++)
{ ksqrt(m+1);
for(i2;ik;i++)
if(m%i0)
{leap0;break;}
if(leap) {printf("%-4d",m);h++;
if(h%100)
printf("\n");
}
leap1;
}
printf("\nthe total is %d",h);
}
while 执行了五次,下面是五次的a里的数据
5 2 3 4 1
5 4 3 2 1
5 4 3 2 1
5 2 3 4 1
1 2 3 4 5
换了又被换回去了,如果要真正实现交换,应该只执行5/2次
第一题:已知某班N(〈=50)名学生进行了高数、英语和C语言等3门课考试,将3门课的成绩以及计算3门课的总分存放于一个二维数组中,将学生姓名存放在另一个二维字符数组中,按总分(由高到低)将学生姓名排序并输出排序结果(序号和姓名)。
#includestdio.h
#includestring.h
#define N 50
typedef struct
{
float mark[4];
long number;
char name[25];
}JD;
JD stu[N];
void sort(JD stu[],int n)
{
int i,j;
JD temp;
for(i=1;i=n;i++)
for(j=1;j=n-i;j++)
if(stu[j].mark[4]stu[j+1].mark[4])
{
temp=stu[j];
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
main()
{
int i,n;
printf("请输入学生数:\n");
scanf("%d",n);
for(i=1;i=n;i++)
{
printf("请输入第%d个学生的信息(包括学号、姓名、高数成绩、英语成绩、c语言成绩):\n",i);
scanf("%ld%s",stu[i].number,stu[i].name);
scanf("%f%f%f",stu[i].mark[1],stu[i].mark[2],stu[i].mark[3]);
}
for(i=1;i=n;i++)
{
stu[i].mark[4]=0;
stu[i].mark[4]=stu[i].mark[1]+stu[i].mark[2]+stu[i].mark[3];
}
sort(stu,n);
printf("排序的结果是:\n");
for(i=1;i=n;i++)
{
printf("第%d名同学是:",i);
printf("%ld\t%s\n",stu[i].number,stu[i].name);
}
}
第二题:编写函数fun(char s[ ], int num[ ]),其功能是统计字符串 s 中数字字符、大写字母、小写字母和空格字符的出现次数,统计结果存于num数组中。再设计main函数,调用fun函数,实现预期功能。
#includestdio.h
#define N 10
void fun(char s[], int num[])
{
int i;
for(i=0;s[i]!='\0';i++)
if(s[i]='0's[i]='9')
num[0]++;
else if(s[i]='a's[i]='z')
num[1]++;
else if(s[i]='A's[i]='Z')
num[2]++;
else if(s[i]==' ')
num[3]++;
}
main()
{
int num[4],i,j;
char s[N];
for(i=0;i4;i++)
num[i]=0;
printf("please input the string:\n");
for(i=0;iN;i++)
scanf("%c",s[i]);
printf("the string is:\n");
for(i=0;iN;i++)
printf("%c",s[i]);
fun(s,num);
printf("\n此字符串中数字字符出现的次数:\n");
printf("\t%d",num[0]);
printf("\n此字符串中小写字母出现的次数:\n");
printf("\t%d",num[1]);
printf("\n此字符串中大写字母出现的次数:\n");
printf("\t%d",num[2]);
printf("\n此字符串中空格字符出现的次数:\n");
printf("\t%d",num[3]);
}
第三题:编程输出右边图形,其行数n (= 26)由输入而定。 A
A B A
A B C B A
A B C D C B A
#include stdio.h
main ()
{
int i,j,k;
int a,n;
printf("please input your low:\n");
scanf("%d",n);
for(i=1;i=n;i++)
{
for(j=1;j=n-i;j++)
printf(" ");
a=65;
for(k=1;k=i;k++)
printf("%c",a++);
for(k=1;ki;k++)
printf("%c",--a-1);
printf("\n");
}
}
你的这句话应该说“传值类型的形参值得改变并不能改变对应实参的值,把数据从被调用函数返回到调用函数的唯一途径是通过return语句返回函数值”
尾页投稿 二0 一 九垂纶 岛如今 谁掌握 ,贴秘外国为什么没有敢光复 垂纶 岛 少乡号SEO博员 • 二0 二0年 七月 一日 0 九:0 三: 四 七 • 投稿 SEO 借忘患上 二0 一 二年九一八先后天下 各天发作 阵容 浩荡 的反日游止吗?可谓 一 九 七 二年外日国交 一般化此后,...
第 一页 剧情吧工夫 : 二0 一 三- 一0- 二 六 二 三: 四 五:0 八 已婚妻第 一散剧情先容 繁荣 都会 天天 车流穿越没有息,田飞的事情 便跟乡市的车流同样,天天 皆正在反复 运做,一地正午 他去到私司持续 事情 ,王司理 一个德律风 把他唤至办私室,待田飞走出去,王司理...
运用Nginx作Web办事 器进程 外,碰着 过如下几个答题:一、nginx封动掉 败 一systemctl start nginx.service封动nginx掉 败,报错疑息以下:Starting nginx: nginx: [emerg] bind() to 0.0.0.0:AV女优* fai...
)从用户动身 ,斟酌 用户体验,别斟酌 搜刮 引擎劣化。 二)有话则少,无话则欠。 再去剖析 一高,假如 必需 要站正在搜索引擎优化 的角度斟酌 ,应该有些甚么样的处置 必修 起首 ,文章最欠也应该正在 二00字阁下 以上。缘故原由 有二个: 一)假如 只要几十个字,搜刮 引擎不易断定...
排正在搜刮 引擎搜刮 成果 前几页的网页或者网站外,正常是那个网页或者网站的题目 标签(TitleTag)外包括 着搜刮 症结 词。以是 ,反过去,要让本身 网页或者网站排到搜刮 成果 的前列,网页的题目 标签(TitleTag)异常 主要 。网页的题目 标签(TitleTag)要怎么写才是最劣化必...
上个月尾 前,一连 两次交到南京GGAD客服中间 的MM挨去的德律风 ,约请 尔加入 七. 二号礼拜 一GGAD正在北京的站少年夜 会,固然 咱们那离北京有三个多小时的车程,并且 礼拜 一是一般上班,借要欢迎 私司新上任的嫩总发言 ,但为了能一见GGAD外国团队的风度 战GGAD的精力 ,并且 做...