W3
1;;;;
#include <stdio.h> char score_to_grade(int score); int main(){ int score; char grade; while(scanf("%d",&score)!=EOF){ grade=score_to_grade(score); printf("分数:%d,等级:%c\n\n",score,grade); } return 0; } char score_to_grade(int score){ char ans; switch (score/10){ case 10: case 9:ans='A';break; case 8:ans='B';break; case 7:ans='C';break; case 6:ans='D';break; defult:ans='E'; } return ans; }

A1:其是定义了一个函数表明通过分数来转化成等级;形参为int整数型;返回值为char是字符型;
A2:break用于结束循环并结束switch,如果像这样改变ans会直接等于E,会运行在其后面的case中的内容
2::::
#include <stdio.h> int sum_digits(int n); int main(){ int n,ans; while(printf("Enter n:"),scanf("%d",&n)!=EOF){ ans=sum_digits(n); printf("n=%d,ans=%d\n\n",n,ans); } return 0; } int sum_digits(int n){ int ans=0; while(n!=0){ ans+=n%10; n/=10; } return ans; }

A1;函数的作用是将各个位上的数都加起来
A2:应该可以运行,原代码是用来递归;改后的代码为迭代的方式
3‘’‘
#include<stdio.h> int power(int x,int n); int main(){ int x,n; int ans; while(printf("Enter x and n:"),scanf("%d%d",&x,&n)!=EOF){ ans=power(x,n); printf("n=%d,ans=%d\n\n",n,ans); } return 0; } int power(int x,int n){ int t=0; if(n==0) return 1; else if(n%2) return x*power(x,n-1); else{ t=power(x,n/2); return t*t; } }

4.。。
#include<stdio.h> #include<stdlib.h> int is_prime(int i){ int ret=1; int k; for(k=2;k<i-1;k++){ if(i%k==0){ ret=0; break; } } return ret; } int main(){ int count=0; printf("100以内的孪生素数:\n"); for(int n=2;n<=98;n++){ if(is_prime(n)&&is_prime(n+2)){ printf("%d %d\n",n,n+2); count++; } } printf("100以内的孪生素数共有%d个\n",count); system("pause"); return 0; }

5/。/。
#include <stdio.h> int func(int n, int m); int main() { int n, m; int ans; while(scanf("%d%d",&n,&m)!= EOF){ int ans = func(n, m); printf("n = %d, m = %d, ans = %d\n\n", n, m, ans);} return 0; } int func(int n, int m) { if (m < 0 || m > n) return 0; if (m == 0 || m == n) return 1; if (m > n - m) { m = n - m; } int ans = 1; for (int i = 1; i <= m; i++) { ans = ans * (n - m + i) / i; } return ans; }

6、、、
#include<stdio.h> int gcd(int a,int b,int c); int main(){ int a,b,c; int ans; while(scanf("%d%d%d",&a,&b,&c)!= EOF){ ans=gcd(a,b,c); printf("最大公约数:%d\n\n",ans); } return 0; } int gcd(int a,int b,int c){ int min=a; if(b<min) min=b; if(c<min) min=c; for(int i=min;i>=1;i--){ if(a%i==0&&b%i==0&&c%i==0){ return i; } } return 1; }

7///
#include <stdio.h> #include <stdlib.h> void print_charman(int n); int main(){ int n; printf("Enter n: "); scanf("%d",&n); print_charman(n); return 0; } void print_charman(int n){ int i,j,k; for(i=0;i<n;i++){ for(j=0;j<i;j++){ printf("\t"); } for(k=1;k<2*(n-i);k++){ printf(" O\t"); } printf("\n"); for(j=0;j<i;j++){ printf("\t"); } for(k=1;k<2*(n-i);k++){ printf("<H>\t"); } printf("\n"); for(j=0;j<i;j++){ printf("\t"); } for(k=1;k<2*(n-i);k++){ printf("I I\t"); } printf("\n\n"); } }

 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号