C语言的一些习题

杨辉?:

 1 #include   <stdio.h>
 2 int  main()
 3 { int i,j,n=0,a[17]={0,1},l,r;
 4     while(n<1 || n>16)
 5     { printf("请输入杨辉三角形的行数:");
 6         scanf("%d",&n);
 7     }
 8     for(i=1;i<=n;i++)
 9     { l=0;
10         for(j=1;j<=i;j++)
11         { r=a[j];
12             a[j]=l+r;
13             l=r;
14             printf("%5d",a[j]);
15         }
16         printf("\n");
17     }
18  return 0;
19
20 }

九九乘法表:

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int i,j = 0;
 6     for(i = 1;i <=9;i++)
 7        {
 8          for(j = 1;j <= 9;j++)
 9            {
10              if(i >= j)
11              {
12                 printf("%d*%d=%d\t",i,j,i*j);
13              }
14          }
15         putchar(‘\n‘);
16      }
17      return 0;
18 }

水仙花数:

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int i ,j ,k,num = 0;
 6 for(i= 1;i < 10;i++){
 7     for(j=0;j < 10;j++){
 8         for(k=0;k < 10;k++)
 9         {
10            if(i*i*i+j*j*j+k*k*k == i*100+j*10+k)
11             {
12
13                 printf("%d\t",100*i+10*j+k);
14              }
15         }
16
17
18     }
19
20
21 }
22
23     printf("\n");
24
25 return 0;
26 }

判定小于等于五位正整数的逆序打印:

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5     int num,n = 0;
 6     int a,b,c,d,e = 0;
 7
 8   while(1){
 9     printf("**请输入一个1~5位数的数字,我来猜猜看**\n");
10     scanf("%d",&num);
11
12
13 if(num >=10 && num <=99999 )
14     {
15           a = num/10000; //万位
16     b =  num/1000%10;//千位
17     c = num/100%10;//百位
18     d = num / 10 %10;//十位
19     e = num % 10;//个位
20
21
22          if(num/10000 >= 1)
23                  {
24             n = 5;
25             printf("*****嗦嘎,如此简单!原来这是一个%d位数*****\n",n);
26             printf("%d %d %d %d %d \n",a,b,c,d,e);
27             printf("%d %d %d %d %d \n",e,d,c,b,a);
28         }
29          else if(num/1000 >= 1 && num/10000 < 1 )
30                   {
31             n = 4 ;
32             printf("****你是在逗我么,这明显是一个%d位数****\n",n);
33             printf("%d %d %d %d \n",b,c,d,e);
34             printf("%d %d %d %d  \n",e,d,c,b);
35
36         }
37         else if(num/100 >= 1 && num/1000 < 1 )
38                   {
39             n = 3;
40
41             printf("***哈哈哈,这是一个%d位数***\n",n);
42             printf("%d %d %d\n",c,d,e);
43             printf("%d %d %d \n",e,d,c);
44
45         }
46          else if(num / 10 >= 0 && num/100 < 1)
47                  {
48             n =2;
49             printf("**是的,这是一个%d位数**\n",n);
50             printf("%d %d \n",d,e);
51             printf("%d %d \n",e,d);
52
53              }
54      }
55          else if(num > 0 && num <=9)
56               {
57             n = 1;
58             printf("* 这是一个%d位数哇 *\n",n);
59
60             printf("%d\n",num);
61             printf("%d\n",num);
62
63              }
64
65
66  }
67
68
69
70
71     return 0;
72 }
时间: 2024-10-13 23:08:43

C语言的一些习题的相关文章

C语言K&R习题系列——句子中一个空格代替多个空格的四种方法

原题: Write a program to copy its input to its output, replacing each string of one or more blanks by a single blank. 第一种: 这种最常用,设置一个inspace作为布尔变量,标志当前输入是否在字符中,或在字符外 #include <stdio.h>   int main(void) {   int c;   int inspace=0;     while((c = getcha

C语言K&R习题系列——统计文档中每个单词所占字母个数,以直方图形式输出

原题: Write a program to print a histogram of the lengths of words in its input. It is easy to draw the histogram with the bars horizontal; a vertical orientation is more challenging. 这也是我第一个过百行的代码(带注释,空格什么的) 主要分两个部分:输入和输出 #include < stdio.h > #define

C语言K&R习题系列——统计一段文字中各个字母出现的频率

原题: /*Write a program to print a histogram of the frequencies of *difficent characters in it inputs */ 这个和上一个类似 输入部分 #include < stdio.h >    #define NUM_CHARS 256    main ( void )  { int c; int done = 0; int thisIdx = 0; long frequrr[NUM_CHARS + 1];

C语言K&R习题系列——使用缓冲区函数接受长字符输入

原题: Write a program to print all input lines that are longer than 80 characters.  ,实现起来不算难,关键是用到了缓冲区,很不错的一种思想! /* Write a program to print all input lines  * that are longer than 80 characters  */    #include < stdio.h >    #define MINLENGTH 81    /

C语言成长学习题(十五)

66.编写字符串复制的程序(用指针变量处理). 1 #include <stdio.h> 2 3 void main(void) 4 { 5 char a[50], b[80], *p, *q; 6 7 p = a; 8 q = b; 9 printf("Input data: "); 10 gets(a); 11 while (*p != '\0') 12 *q++ = *p++; 13 *q = '\0'; 14 puts(b); 15 } Mark: 复制操作结束后,

C语言成长学习题(十六)

72.假设一维数组中存放互不相同的十个整数,要求根据输入的下标值,即可直接删除. 1 #include <stdio.h> 2 3 int mydel (int *a, int n, int k) 4 { 5 int i; 6 7 for (i = k; i < n - 1; i++) 8 *(a+i) = *(a+i+1); 9 n--; 10 11 return n; 12 } 13 14 void myout (int *a, int n) 15 { 16 while (n >

数据结构与算法分析(C语言描述)习题1.4

题目:C提供形如 #include filename 的语句,它读入文件filename并将其插入到include语句处.include语句可以嵌套:换句话说,文件filename本身还可以包含include语句,但是显然一个文件在任何链接中都不能包含它自己.编写一个程序,使它读入被include语句修饰的一个文件并且输出这个文件. 思路: 1.函数printHeadfile()接受一个文件路径,并打开该路径文件. 2.成功打开后,不断读入文件内一行数据buf.如果该行是一个“#include

C语言成长学习题(十四)

六十一.定义4*6的实型数组,并将各行前5列元素的平均值分别放在同一行的第6列上. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 float a[4][6], sum; 6 int i, j; 7 8 for (i = 0; i < 4; i++) 9 for (j = 0; j < 5; j++) 10 a[i][j] = i * j + 1; 11 for (i = 0; i < 4; i++) 12 { 13 sum =

C语言成长学习题(十三)

五十六.编写求字符串长度的程序. 1 #include <stdio.h> 2 3 void main(void) 4 { 5 char a[80]; 6 int i = 0, count = 0; 7 8 gets(a); 9 while (a[i] != '\0') 10 { 11 count++; 12 i++; 13 } 14 printf("%s = %d\n", a, count); 15 } 五十七.编写字符串复制的程序. 1 #include <std

《数据结构与算法Python语言描述》习题第二章第三题(python版)

ADT Rational: #定义有理数的抽象数据类型 Rational(self, int num, int den) #构造有理数num/den +(self, Rational r2) #求出本对象加r2的结果 -(self, Rational r2) #求出本对象减r2的结果 *(self, Rational r2) #求出本对象乘以r2的结果 /(self, Rational r2) #求出本对象除以r2的结果 num(self) #取出本对象的分子 den(self) #取出本对象的