題目11
將一個正整數(shù)分解質(zhì)因數(shù)。例如:88 = 2 * 2 * 2 * 11坐儿。
/*將一個正整數(shù)分解質(zhì)因數(shù)。例如:88 = 2 * 2 * 2 * 11。*/
#include<stdio.h>
int main(){
int t;
printf("請輸入一個數(shù):\n");
scanf("%d",&t);
printf("%d = ",t);
int i;
for(i=2;i<=t;i++){
while(t%i==0){
printf("%d",i);
t = t/i;
if(t!=1)
printf(" * ");
}
}
return 0;
}
題目12
利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示贮懈,60-89分之間的用B表示楚里,60分以下的用C表示断部。
#include<stdio.h>
int main(){
int n;
printf("請輸入你的分數(shù):\n");
scanf("%d",&n);
if(n>100||n<0){
printf("\n輸入錯誤,請重新輸入\n");
scanf("%d",&n);
}
n>=90? printf("\n判定等級為:A\n"): n>=60? printf("\n判定等級為:B\n"):printf("\n判定等級為:C\n") ;
return 0;
}
或使用 if-else 嵌套
#include<stdio.h>
void ju(int n){
printf("\n判定等級為:");
if(n>=90){
printf(" A \n");
}
else if(n>=60){
printf(" B \n");
}
else{
printf(" C \n");
}
}
int main(){
int n;
printf("請輸入你的分數(shù):\n");
scanf("%d",&n);
if(n>100||n<0){
printf("\n輸入錯誤,請重新輸入\n");
scanf("%d",&n);
}
ju(n);
return 0;
}
題目13
輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)班缎。
/*
輸入兩個正整數(shù)m和n蝴光,求其最大公約數(shù)和最小公倍數(shù)。
(1)最小公倍數(shù)=輸入的兩個數(shù)之積除于它們的最大公約數(shù)达址,關鍵是求出最大公約數(shù)蔑祟;
(2)求最大公約數(shù)用輾轉相除法(又名歐幾里德算法)
*/
#include<stdio.h>
int main(){
int x,y;
printf("請輸入兩個數(shù),如(24,12)\n");
scanf("%d,%d",&x,&y);
int mul;
mul = x*y;
//判定大小
int t;
if(x<y){
t = x;
x = y;
y = t;
}
//求最大公約數(shù)
int d;
int gcd;
while(1){
if(x%y == 0){
gcd = y;
printf("最大公約數(shù)是:%d\n",gcd);
break;
}
else{
d = x%y;
x = y;
y = d;
}
}
//求最小公倍數(shù)
int lcm;
lcm = mul / gcd;
printf("最大公倍數(shù)是:%d",lcm);
return 0;
}
題目14
輸入一行字符,分別統(tǒng)計出其中英文字母沉唠、空格疆虚、數(shù)字和其它字符的個數(shù)。
/*輸入一行字符,分別統(tǒng)計出其中英文字母径簿、空格罢屈、數(shù)字和其它字符的個數(shù)。*/
#include<stdio.h>
int main(){
char c;
printf("請輸入一行字符\n");
int letters=0,spaces=0,digits=0,others=0;
while(c!='\n'){
c = getchar();
if(c>='A'&&c<='Z' || c>='a'&& c<='z')
letters++;
else if(c==' ')
spaces++;
else if(c>='0'||c<='9')
digits++;
else
others++;
}
printf("\n字母=%d,數(shù)字=%d,空格=%d,其他=%d\n",letters,digits,spaces,others);
return 0;
}
題目15
求s=a+aa+aaa+aaaa+aa...a的值篇亭,其中a是一個數(shù)字缠捌。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制译蒂。
/*求s=a+aa+aaa+aaaa+aa...a的值曼月,
其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加)柔昼,
幾個數(shù)相加有鍵盤控制哑芹。*/
#include<stdio.h>
int main(){
int a,n;
printf("請輸入兩個數(shù)字:\n");
scanf("%d,%d",&a,&n);
int b = a;
int sum=0;
int d;
while(n){
d = a;
a = a*10+b;
// printf("%d\t",a);
sum = sum + d;
n--;
}
printf("\n%d",sum);
return 0;
}