垃圾学渣求毕业 2021-06-18 23:05 采纳率: 50%
浏览 31

C语言 while循环练习求代码有解释最好啦

题目要求在命令行输入输入一个数字,然后以另一种方式打印出来 

1,2,3,four,four-1,four-2,four-3,four-four,four-four-1,four-four-2,four-four-3,four-four-four,…以此类推来表达数字(每逢4就换成four)

比如输入8 给出的是four-four 输入13 给出four-four-four-1 

之前试过for循环嵌套 但是总是"-"这里出问题,希望有大神可以指点一下

 

#include<stdio.h>

int main() {
	int n;
	
	scanf("%d",&n);
	
	while(n<4) {
	    printf("%d",n);
	    return 0;
	}
	
	while(n>=4){
	    int a = n/4;
			for(int c =a; c>0; c--) {
					printf("four");
			    	if(a>0) {
				  printf("-");
			    } 
			    
			}
			   
		
	int b = n%4;
		if(b==0){
		    return 1;
		    }else if (b>0){
		    printf("%d",b);
		    return 1;
		}   
		
	} 
}
  • 写回答

2条回答 默认 最新

  • technologist_30 2021-06-18 23:36
    关注
    #include<stdio.h>
    void main() {
    	int n;
    	int j;
    	int k,m;
    	scanf("%d",&n);
    	while(1) {
    		if(n == 1 || n==2 || n==3) {
    			printf("%d",n);
    			break;
    		} else if( n==4) {
    			printf("%s","four");
    			break;
    		} 
    		else {
    		    k = n / 4;
    			n = n % 4;
    			for(j=1; j<=k; j++) {
    				if(j==k && n == 0) {
    					printf("four");
    				} else {
    				  printf("four-");
    				}
    			}
    		}
    	}
    }
    评论

报告相同问题?

悬赏问题

  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)