C语言 怎么一次性输入多组测试数据,输入0时结束输入操作。回车后,输出各元素对应结果。

这是自己写的程序,请在此基础上改动,我用的是C++6.0,谢谢。(我的程序只能输入一个值,要求一次性输入多组数据)#include<stdio.h>intmain(){i... 这是自己写的程序,请在此基础上改动,我用的是C++6.0,谢谢。(我的程序只能输入一个值,要求一次性输入多组数据)
#include <stdio.h>
int main()
{
int i,n,j=1,k=-1;
scanf("%d",&n);
for(i=1;i<n;i++)
if(n%i!=0)
j=j+1;
else
k=k+1;
if(n%2==0)
j=j-k+1;
else
j=j-k;
printf("%d ",j);
printf("\n");
return 0;
}
展开
 我来答
冰旋华影
推荐于2017-10-07 · TA获得超过549个赞
知道小有建树答主
回答量:673
采纳率:0%
帮助的人:281万
展开全部
#include <stdio.h>
int main()
{
int i,n,j=1,k=-1;
while(printf("请输入n:")&&scanf("%d",&n)==1&&n!=0){
for(i=1;i<n;i++){
if(n%i!=0)
j=j+1;
else
k=k+1;
if(n%2==0)
j=j-k+1;
else
j=j-k;
}
printf("%d",j); 
printf("\n");
    j=1;k=-1;
}
return 0;
}
更多追问追答
追问
亲,结果貌似不对了,比如输入9的解结果就不一样了。
追答
#include <stdio.h>
int main()
{
    int i,n,j=1,k=-1;
    while(printf("请输入n:")&&scanf("%d",&n)==1&&n!=0){
        for(i=1;i<n;i++){
            if(n%i!=0)
                j=j+1;
            else
                k=k+1;
        }
        if(n%2==0)
            j=j-k+1;
        else
            j=j-k;
        printf("%d",j); 
        printf("\n");
        j=1;k=-1;
    }
    return 0;
}
创世纪era
2014-06-17 · TA获得超过106个赞
知道小有建树答主
回答量:101
采纳率:100%
帮助的人:72.5万
展开全部
这段程序的目的是什么。。
更多追问追答
追问
"LK的数学题"de C语言版解答。欧拉函数还没学,所以就用了其他方法。
追答
一次性输入多组数据要么用while循环输入
要么就输入字符串,然后解析得到参数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式