C语言入门之旅 (一)

xiaoxiao2025-07-17  8

特殊的循环语句 ,让for循环开始的方法: 将sum初始化为0;或者先在循环体外读第一个数 注意要先判断再运算,避免最后一个数据发生错误

for(sum=0;n!=-1;) { sum+=n; scanf(“%d”, n); }

输入x,y之间的闰年

int x, y, i; scanf("%d %d", &x, &y); for(i=x; i<=y; i++) if((i%4==0&&i%100!=100)||(i%400=0)) printf("%d\t", i);

打印三角形,实心菱形 三角形,实心菱形,空心菱形

if(i>n) line=2*i-1 ; else line=i; //就可以实现对称打印,然后用line作为进行运算的行标

do-while 循环 重点是明确循环次数

#define N 10 //符号常量,编译时会用10代替N

利用泰勒级数求e的x次方

#include<stdio.h> int main() { int i; float x; double sum , p; scanf("%f", &x"); for(sum=1.0, i=1, p=1; fabs(p)>1e-8;i++) { p=p*x//i; sum=sum+p; } printf("exp(%f)=%lf\n"); return 0; }

求三角形面积 秦九韶公式

#include(math.h) int a, b, c; double s, d; s=(double)(a+b+c)/2; //强制 格式化 或者 s=(a+b+c)/2.0 ; S=sqrt(d)

从最高位开始拆一个数字

#include<stdio.h> int main() { int n, temp, i, d; //n为输入的值,temp为临时变量,i为各位数字,d为n的权 scanf("%d", &n); temp=n; d=1; while(temp>=10) { temp/=10; d*=10; } //主要是先把权找到 temp=n; while(temp>=10) { i=temp/d; temp%=d; d/=10; printf("%d\t", i); } printf("%d", temp); return 0; }

念数字

#include<stdio.h> #include<math.h> int main() { int a, b, n, m, ge, shi; scanf("%d %d", &a, &b); if((a<-99) || (a>99) || (b<-99) || (b>99) || (a>b)) printf("INPUT ERROR!"); else{ for(n=a; n<=b; n++) /*for循环中,第二个部分应该写循环进行的控制条件, 不要写成跳出循环的条件*/ { if(n<0) printf("FU "); m=fabs(n); if(m>=10) { shi=m/10; if(shi==1) printf("SHI "); if(shi==2) printf("ER SHI "); if(shi==3) printf("SAN SHI "); if(shi==4) printf("SI SHI "); if(shi==5) printf("WU SHI "); if(shi==6) printf("LIU SHI "); if(shi==7) printf("QI SHI "); if(shi==8) printf("BA SHI "); if(shi==9) printf("JIU SHI "); ge=m%10; } else ge=m; if(ge==0) printf("LING\n"); if(ge==1) printf("YI\n"); if(ge==2) printf("ER\n"); if(ge==3) printf("SAN\n"); if(ge==4) printf("SI\n"); if(ge==5) printf("WU\n"); if(ge==6) printf("LIU\n"); if(ge==7) printf("QI\n"); if(ge==8) printf("BA\n"); if(ge==9) printf("JIU\n"); } } return 0; }

任意给定n个整数,求这n个整数序列的和、最小值和最大值

#include<stdio.h> int main() { int n, min, max, a, sum, i; printf("Please input the number of the integers: "); scanf("%d", &n);//注意取地址符,这个题忘了两次 printf("Please input the integers:"); scanf("%d", &a); sum=a; min=a; max=a; for(i=1; i<n; i++) { scanf("%d", &a); sum+=a; if(a>max) max=a; if(a<min) min=a; } printf("The total,maximum and minimum of the integers are:%d %d %d", sum, max, min); return 0; }

一种加密的方法

#include<stdio.h> int main() { char a; while((a=getchar())!='\n') { if(a=='x') printf("a"); else if(a=='y') printf("b"); else if(a=='z') printf("c"); else if(a=='X') printf("A"); else if(a=='Y') printf("B"); else if(a=='Z') printf("C"); else printf("%c", a+3); } return 0; }

确定成绩等级

#include<stdio.h> int main() { int score; scanf("%d", &score); switch(score/10) { case 10: if(score==100) printf("A"); else printf("The score is out of range!");break; case 9: printf("A"); break; case 8: printf("B"); break; case 7:printf("C"); break; case 6:printf("D"); break; case 5: case 4: case 3: case 2: case 1: printf("E"); break; case 0: if(score>=0) printf("E"); else printf("The score is out of range!");break; default: printf("The score is out of range!"); } return 0; }

乘法表

#include<stdio.h> int main() { int i, j, k; for(i=1; i<=9; i++) { for(j=1; j<=i; j++) { k=i*j; printf("%d*%d=%d\t", i, j, k); } printf("\n"); } return 0; }

整除与平方 3与7的公倍数

#include<stdio.h> //#include<stdlib.h> int main() { int n, a, sum; printf("Please input an integer:"); scanf("%d", &n); for(a=1, sum=0; a<n; a++) { if((a%3==0) && (a%7==0)) sum+=a; } sum*=sum; printf("The result is:%d", sum); return 0; //system("pause"); }

大小写转换

#include<stdio.h> int ch1; int main() { while((ch1=getchar())!='\n') { //遇到一次ch1=getchar()就会执行一次 if(ch1>='a' && ch1<='z') { //如果不加else就会使得三个if逐个执行,使得输出几乎2倍长度 ch1-='a'-'A'; printf("%c", ch1); } else if(ch1>='A' && ch1<='Z') { ch1+='a'-'A'; printf("%c", ch1); } else if(ch1<'A' || ch1>'z' || (ch1>'Z'&&ch1<'a')) { printf("%c", ch1); } } return 0; }

统计字符

#include<stdio.h> int ch1, a, b, c, d; int main() { while((ch1=getchar())!='\n') { if(((ch1>='A') && (ch1<='Z')) || ((ch1>='a') && (ch1<='z'))) a++; else if(ch1==32 ) b++; //空格的ASCII为32 else if((ch1>='0') && (ch1<='9')) c++; //记得加 '' 否则会识别为ASCII码 else d++; } printf("The number of English characters,spaces,numbers,other characters are:%d %d %d %d", a, b, c, d); return 0; }

水仙花数

#include<stdio.h> int main() { int n, m, a, b, c, sum; scanf("%d", &n); m=n; a=m/100; m=m%100; b=m/10; m=m%10; c=m; sum=a*a*a+b*b*b+c*c*c; if(n==sum) printf("Yes"); else printf("No"); return 0; }

符合要求的数字(n,m)

#include<stdio.h> int main() { int n, m, a, b, c, t, sum, i;// a/m=c b是a的替补 t是a各位上的数字 sum是各位数字的平方和 c是商 a=1; i=1; scanf("%d %d", &n, &m); while(a<=n){ for(b=a, sum=0;b>=10;b=b/10) //把for循环放在里面,可以保证每一次都能对sum初始化 { t=b%10; sum+=t*t; } sum+=b*b; c=a/m; if(sum==c) { printf("%d ",a ); if(i%5==0) printf("\n"); i++; } a++; } return 0; }

奇偶判断

#include<stdio.h> int main() { int i, j, n, p; scanf("%d", &n); i=0; j=0; while(n!=0) { p=n%10; n=n/10; if(p % 2 ==1) i++; else j++; } if(i>0 && j==0) printf("odd number only!"); else if(i==0 && j>0) printf("even number only!"); else if(i>0 && j>0) printf("both!"); return 0; }
转载请注明原文地址: https://www.6miu.com/read-5033242.html

最新回复(0)