7-26 单词长度
#include<stdio.h>
int main(){
int len,n,j=0;
char str[100];
gets(str); //获取字符串
for(int i=0;i<100;i++){
if(str[i]!=' '){
j++; //不是空格,j加1,计算单词字母个数
if(str[i]=='.'){ //遇到‘.’,j减去算上‘.’的数1,结束循环
printf("%d",j-1);
break;
}
}
else{ //遇到空格,输出单词长度,并且j清零
printf("%d ",j);
j=0;
}
}
return 0;
}
7-25 念数字(用了一推switch...case,难过不会简便的)
#include<stdio.h>
#include<string.h>
int main(){
int len,n;
char str[9]; //数组是字符型,case用‘’将数字括起来
gets(str);
len=strlen(str);
printf("%d\n",len);
if(str[0]=='-') printf("fu"); //-也会算一个长度,如果是-1234,那么长度为5
for(int i=0;i<len;i++){
n=str[i];
switch(n){
case '0':{
printf("ling");
break;
}
case '1':{
printf("yi");
break;
}
case '2':{
printf("er");
break;
}
case '3':{
printf("san");
break;
}
case '4':{
printf("si");
break;
}
case '5':{
printf("wu");
break;
}
case '6':{
printf("liu");
break;
}
case '7':{
printf("qi");
break;
}
case '8':{
printf("bai");
break;
}
case '9':{
printf("jiu");
break;
}
}
}
return 0;
}
7-24 约分最简分式
#include<stdio.h>
int main(){
int x,y;
scanf("%d/%d",&x,&y);
for(int i=2;i<=x;i++){ //求公共因子
for(int j=2;j<=y;j++){
if(x%i==0&&y%j==0&&i==j){
x=x/i;
y=y/j;
}
}
}
if(y==1) printf("%d",x);
else printf("%d/%d",x,y);
return 0;
}
7-23币值转换(麻了,想了我半天,最后暴力解决哈哈哈哈哈哈)
#include<stdio.h>
#include<string.h>
int main(){
int len;
char str[9];
char x[9];
char y[6]="SBQWY";
gets(str); //输入一个字符串常量放到数组中去
len=strlen(str); //求字符串长度
printf("%d\n",len);
for(int i=0;i<len;i++){ //将数字转换为小写字母
x[i]=str[i]+49;
}
if(len<=4){
for(int j=0,n=len-2;j<len;j++,n--){
if(x[j]==97&&j<len&&j>0) continue;
putchar(x[j]);
putchar(y[n]);
}
}
if(len>4&&len<9){
for(int k=0,n=len-2;k<len;k++,n--){
if(x[k]==97&&k<len&&k>0) continue;
putchar(x[k]);
if((len-k)!=5){
if((len-k)>5)
putchar(y[n-4]);
if((len-k)<5)
putchar(y[n]);
}
else printf("W");
}
}
if(len==9){
printf("%cY",x[0]);
for(int l=1,m=len-2;l<len;l++,m--){
if(x[l]==97&&l<len&&l>0) continue;
printf("%c",x[l]);
if(l==1) printf("Q");
if(l==2) printf("B");
if(l==3) printf("S");
if(l==4) printf("W");
if(l==5) printf("Q");
if(l==6) printf("B");
if(l==7) printf("S");
printf("W");
}
}
return 0;
}
7-22 龟兔赛跑(咱就是说,看着兔子跑挺快,但调试的时候乌龟真就一次次追上,更深刻明白了.........)
#include<stdio.h>
int main(){
int T,x=0,y=0;
scanf("%d",&T);
for(int i=1;i<T;i++){
x=x+9;
y=y+3;
if(i%10==0){
if(x>y) {
if(30+i<=T){
y=y+30*3;
i=i+30;
}
else {
y=y+(T-i)*3;
i=T;
}
}
}
}
if(x>y) printf("^_^ %d",x);
if(x==y) printf("-_-");
if(x<y) printf("@_@ %d",y);
return 0;
}
7-21 求特殊方程的正整数解
#include<stdio.h>
#include<math.h>
int main(){
int N,count=0;
scanf("%d",&N);
if(N<=10000){
for(int x=1;x<=sqrt(N);x++){
for(int y=1;y<=sqrt(N);y++){
if(x*x+y*y==N&&x<=y){
printf("%d %d\n",x,y);
count=1;
}
}
}
}
else scanf("%d",&N);
if(count==0) printf("No Solution");
return 0;
}
都是自己想的,也不知道有没有错。哭了。也就测试那么几个数