十个例子C语言

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

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

程序源代码: #include

int main(){

}

int i, j , k ; printf ("\n"); for (i =1; i

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

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

程序源代码:

#include int main(){

int day, month , year , sum , leap ;

printf("\n请输入年、月、日,格式为:年, 月, 日(2015,12,10)\n");

scanf("%d,%d,%d",&year ,&month ,&day ); // 格式为:2015,12,10

switch (month ) // 先计算某月以前月份的总天数

{

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 :printf ("data error"); break ;

}

sum=sum +day ; // 再加上某天的天数

if (year %400==0||(year %4==0&&year %100!=0)) {// 判断是不是闰年

leap=1;

} else {

leap=0;

}

if (leap ==1&&month >2) { // *如果是闰年且月份大于2, 总天数应该加一天

sum++;

}

printf(" 这是这一年的第 %d 天。" , sum );

printf("\n");}

以上实例输出结果为:

3题目:输入三个整数x,y,z ,请把这三个数由小到大输出。

程序分析:我们想办法把最小的数放到x 上,先将x 与y 进行比较,如果x>y则将x 与y 的值进行交换,然后再用x 与z 进行比较,如果x>z则将x 与z 的值进行交换,这样能使x 最小。

程序源代码:

#include

int main(){

int x, y , z , t ;

printf("\n请输入三个数字:\n");

scanf("%d%d%d",&x ,&y ,&z );

if (x >y ) { /*交换x,y 的值*/

t=x ; x =y ; y =t ;

}

if (x >z ) { /*交换x,z 的值*/

t=z ; z =x ; x =t ;

}

if (y >z ) { /*交换z,y 的值*/

t=y ; y =z ; z =t ;

4题目:用*号输出字母C 的图案。

程序分析:可先用'*'号在纸上写出字母C ,再分行输出。

程序源代码: #include "stdio.h"

int main()

{ printf(" 用 * 号输出字母 C!\n");

printf(" ****\n");

printf(" *\n");

printf(" * \n");

printf(" ****\n");

}

5题目:输出9*9口诀。

程序分析:分行与列考虑,共9行9列,i 控制行,j 控制列。

程序源代码 #includeint main(){

int i, j , result ;

printf("\n");

for (i =1; i

{

for (j =1; j

{

result=i *j ;

printf("%d*%d=%-3d", i , j , result ); /*-3d表示左对齐,占3位*/

}

printf("\n"); /*每一行后换行*/

}

}

6题目:要求输出国际象棋棋盘。

程序分析:国际象棋棋盘由64个黑白相间的格子组成,分为8行*8列。用i 控制行,j 来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。 #include

int main(){

int i, j ;

for (i =0; i

{

for (j =0; j

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

printf("%c%c", 219, 219);

else printf(" ");

printf("\n");

}

return 0;}

7题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可) 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... ,即下个月是上两个月之和(从第三个月开始)。 程序源代码:

#include

int main(){

int f1=1, f2=1, i ;

for (i =1; i

20; i ++)

{

printf("%12d%12d", f1, f2);

if (i %2==0) printf("\n");

f1=f1+f2;

f2=f1+f2;

}

return 0;}

8题目:判断101到200之间的素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数) ,如果能被整除, 则表明此数不是素数,反之是素数。

int i, j ;

int count=0;

for (i =101; i

{

for (j =2; j

{

// 如果j 能被i 整出在跳出循环

if (i %j ==0)

break ;

}

// 判断循环是否提前跳出,如果j=i )

{

count++;

printf("%d ", i );

// 换行,用count 计数,每五个数换行

if (count % 5 == 0)

printf("\n");

}

}

return 0;}

9题目:打印出所有的" 水仙花数" ,所谓" 水仙花数" 是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个" 水仙花数" ,因为153=1的三次方+5的三次方+3的三次方。 程序分析:利用for 循环控制100-999个数,每个数分解出个位,十位,百位。

#include

int main()

{

int i,x,y,z; for(i=100;i

} } x=i%10; y=i/10%10; z=i/100%10; if(i==(x*x*x+y*y*y+z*z*z)) printf("%d\n",i); return 0;

10题目:将一个正整数分解质因数。例如:输入90, 打印出90=2*3*3*5。

程序分析:对n 进行分解质因数,应先找到一个最小的质数k ,然后按下述步骤完成: ∙ (1)如果这个质数恰等于(小于的时候,继续执行循环)n ,则说明分解质因数的过

程已经结束,另外 打印出即可。

∙ (2)但n 能被k 整除,则应打印出k 的值,并用n 除以k 的商, 作为新的正整数n.

重复执行第二步。

∙ (3)如果n 不能被k 整除,则用k+1作为k 的值, 重复执行第一步。 #includeint main(){

int n, i ;

printf(" 请输入整数:" );

scanf("%d",&n );

printf("%d=", n );

for (i =2; i

{

while (n %i ==0)

{

printf("%d", i );

n/=i ;

if (n !=1) printf("*"); }

}

printf("\n");

return 0;}

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

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

程序源代码: #include

int main(){

}

int i, j , k ; printf ("\n"); for (i =1; i

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

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

程序源代码:

#include int main(){

int day, month , year , sum , leap ;

printf("\n请输入年、月、日,格式为:年, 月, 日(2015,12,10)\n");

scanf("%d,%d,%d",&year ,&month ,&day ); // 格式为:2015,12,10

switch (month ) // 先计算某月以前月份的总天数

{

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 :printf ("data error"); break ;

}

sum=sum +day ; // 再加上某天的天数

if (year %400==0||(year %4==0&&year %100!=0)) {// 判断是不是闰年

leap=1;

} else {

leap=0;

}

if (leap ==1&&month >2) { // *如果是闰年且月份大于2, 总天数应该加一天

sum++;

}

printf(" 这是这一年的第 %d 天。" , sum );

printf("\n");}

以上实例输出结果为:

3题目:输入三个整数x,y,z ,请把这三个数由小到大输出。

程序分析:我们想办法把最小的数放到x 上,先将x 与y 进行比较,如果x>y则将x 与y 的值进行交换,然后再用x 与z 进行比较,如果x>z则将x 与z 的值进行交换,这样能使x 最小。

程序源代码:

#include

int main(){

int x, y , z , t ;

printf("\n请输入三个数字:\n");

scanf("%d%d%d",&x ,&y ,&z );

if (x >y ) { /*交换x,y 的值*/

t=x ; x =y ; y =t ;

}

if (x >z ) { /*交换x,z 的值*/

t=z ; z =x ; x =t ;

}

if (y >z ) { /*交换z,y 的值*/

t=y ; y =z ; z =t ;

4题目:用*号输出字母C 的图案。

程序分析:可先用'*'号在纸上写出字母C ,再分行输出。

程序源代码: #include "stdio.h"

int main()

{ printf(" 用 * 号输出字母 C!\n");

printf(" ****\n");

printf(" *\n");

printf(" * \n");

printf(" ****\n");

}

5题目:输出9*9口诀。

程序分析:分行与列考虑,共9行9列,i 控制行,j 控制列。

程序源代码 #includeint main(){

int i, j , result ;

printf("\n");

for (i =1; i

{

for (j =1; j

{

result=i *j ;

printf("%d*%d=%-3d", i , j , result ); /*-3d表示左对齐,占3位*/

}

printf("\n"); /*每一行后换行*/

}

}

6题目:要求输出国际象棋棋盘。

程序分析:国际象棋棋盘由64个黑白相间的格子组成,分为8行*8列。用i 控制行,j 来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。 #include

int main(){

int i, j ;

for (i =0; i

{

for (j =0; j

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

printf("%c%c", 219, 219);

else printf(" ");

printf("\n");

}

return 0;}

7题目:古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可) 程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... ,即下个月是上两个月之和(从第三个月开始)。 程序源代码:

#include

int main(){

int f1=1, f2=1, i ;

for (i =1; i

20; i ++)

{

printf("%12d%12d", f1, f2);

if (i %2==0) printf("\n");

f1=f1+f2;

f2=f1+f2;

}

return 0;}

8题目:判断101到200之间的素数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数) ,如果能被整除, 则表明此数不是素数,反之是素数。

int i, j ;

int count=0;

for (i =101; i

{

for (j =2; j

{

// 如果j 能被i 整出在跳出循环

if (i %j ==0)

break ;

}

// 判断循环是否提前跳出,如果j=i )

{

count++;

printf("%d ", i );

// 换行,用count 计数,每五个数换行

if (count % 5 == 0)

printf("\n");

}

}

return 0;}

9题目:打印出所有的" 水仙花数" ,所谓" 水仙花数" 是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个" 水仙花数" ,因为153=1的三次方+5的三次方+3的三次方。 程序分析:利用for 循环控制100-999个数,每个数分解出个位,十位,百位。

#include

int main()

{

int i,x,y,z; for(i=100;i

} } x=i%10; y=i/10%10; z=i/100%10; if(i==(x*x*x+y*y*y+z*z*z)) printf("%d\n",i); return 0;

10题目:将一个正整数分解质因数。例如:输入90, 打印出90=2*3*3*5。

程序分析:对n 进行分解质因数,应先找到一个最小的质数k ,然后按下述步骤完成: ∙ (1)如果这个质数恰等于(小于的时候,继续执行循环)n ,则说明分解质因数的过

程已经结束,另外 打印出即可。

∙ (2)但n 能被k 整除,则应打印出k 的值,并用n 除以k 的商, 作为新的正整数n.

重复执行第二步。

∙ (3)如果n 不能被k 整除,则用k+1作为k 的值, 重复执行第一步。 #includeint main(){

int n, i ;

printf(" 请输入整数:" );

scanf("%d",&n );

printf("%d=", n );

for (i =2; i

{

while (n %i ==0)

{

printf("%d", i );

n/=i ;

if (n !=1) printf("*"); }

}

printf("\n");

return 0;}


相关内容

  • 从汉英对比的典型例子看中西思维方式的差异
  • 摘要:思维方式是以一个文化群体或民族为单位的,而不是某一个人拥有的具体思想方法,因此,思维方式具有文化特征.然而,语言作为文化的载体和思维的工具,一种语言总是直接或间接地反映使用此种语言的文化群体所具备的思维方式的特点.汉语与英语作为中西文化的重要载体,也是最能反映中西思维方式差异的语言.所以,本文 ...

  • 关于课文功能的发挥
  • 关于课文功能的发挥 不管教材用什么样的形式编定课文,也不管编定的课文是如何的多样化:不管课文是高品位的还是低品位 的,也不管课文处于哪一层位置,我想,关键的还是要看教师的处理是否艺术化,是否有创造性.换言之,就 是看教师能否正确.充分地发挥"课文"的教学功能.这是从教师这一方来说 ...

  • 汉字文化论文语言禁忌
  • 语言禁忌 摘要:语言禁忌作为一种富有社会人文特色的语言风俗现象,存在的时空性是非常广泛的.其领域类别也多种多样.它主要起源于人们趋利避害,趋雅避俗的心理.人们为了避忌寻找了各种办法,而这些办法造成的影响也是有利有弊的. 关键词:语言禁忌:成因:类别:避忌方法:文化价值. 语言禁忌是人类社会普遍存在的 ...

  • 修辞学讲解 语法和语法单位
  • 结束了语音,音系这一部分,我们正式进入了语法方面的学习.从我们接触学习各类语言的经验来看,语音是学习语言的基础,而语法是语言的规则,一般语言类考试的时候考的大部分内容就是语法,所以语法是语言学习中难度比较大的一个环节.我们这里讲的汉语的语法,对我们中国人来说,很容易一看就明白,但是当我们给其他外国人 ...

  • 论老舍话剧中词语的锤炼
  • 论老舍话剧中词语的锤炼 词语的锤炼大家都很熟悉,因为我们从小就接触,小到我们读的儿童诗,大到我们学的大家作品,老舍的文章我们都学过,骆驼祥子在熟悉不过,里面词语的应用的为恰当,可以说是恰到好处,符合情景的要求,同时表现人物的性格特征. 再说,语言的运用总是有具体对象和语境的.特别是文学作品的语言,必 ...

  • 演讲稿应该怎样写
  • 演讲稿应该怎样写 是指在群众集会上或会议上发表讲话的文稿.演讲稿是进行宣传经常使用的一种文体.演讲的作用是表达个人的主张与见解,介绍一些学习.工作中的情况.经验,以便互相交流思想和感情. 演讲稿的主题要鲜明,例证要动人,感情要深厚,结构要清晰.完整,并注意跌宕.力求灵活.朴实.形象.幽默.并善于运用 ...

  • 世界诸语言的类型分类与系属分类
  • 世界诸语言的类型分类与系属分类 阿灿 类型分类系属分类在反映一个最初是同性质的语言经时代的演变而产生分化的史实,类型分类则不必然有历史含义.例如所有语言可分为有声调和无声调的语言两种.在有声调的语言中,一个音节声调改变了,语意也随之起巨大的变化.这种声调的改变,对于无声调的语言(如英语)的音素改变, ...

  • 说明文文体知识
  • 说明文文体知识 1.明确说明顺序,包括时间顺序.空间顺序.逻辑顺序. 1)空间顺序,或者从前到后,或者从上而上,或者由外到内,或者从点到面,注意事物的表里.大小.前后.左右.东南西北等位置和方向.例如<中国石拱桥>. 2)时间顺序,因为事物发展的不同阶段有不同的特点.例如<恐龙无处 ...

  • 科学指导是趣,语言应用是魂--[花儿为什么这样红]课堂实录 王君
  • 科学知识是趣,语言应用是魂 --<花儿为什么这样红>课堂实录 执教:王君老师 整理:金艳 (课间播放<花儿为什么这么红>歌曲) 第一部分:学字词,教阅读方法 (上课,互致问候) 师:刚才那个歌,就叫<花儿为什么这样红>.旋律优美.在王老师像你们这么大的时候是最流行 ...

  • 中考语文说明文阅读常见题型与答题指导
  • (2009-12-12 13:27:34) 标签: 说明文 说明方法 说明文阅读 中考语文总复习 常见题型 答题指导 教育 分类: 教育教学 中考语文说明文阅读常见题型与答题指导 吴方华 1.说明文文体知识 ①说明文的分类:从说明对象的角度分为事物说明文.事理说明文.从说明文语言特征分为平实说明文. ...