冷回清风暖 发表于 2020-3-3 20:23:02

程序交互功能完善

本帖最后由 冷回清风暖 于 2020-3-3 20:37 编辑

先附上代码#include<stdio.h>
#include<string.h>

void Nicoches(int num)//输出尼科彻斯定理结果
{
    int result,a,i,j,temp = 0,temp1 = 0,num_copy,t;
    num_copy = num;
    result = num*num*num;
    while(num != 0)
    {
      temp += num;
      num--;
    }
    for(i = 1,j = 0; j < temp ; i+=2,j++)
    {
      *(a+j) = i;
    }
    printf("%d^3 == %d =",num_copy,result);
    if(num_copy == 1)//输出结果
    {
      printf("%d",a);
    }
    else if(num_copy == 2)
    {
      printf(" %d + %d\n",a,a);
    }
    else
    {
      printf(" %d + %d + ... + %d\n",a,a,a);
    }
}

int main()
{
    int num,ch,temp,ch1;

    printf("请确认是否要开始程序(y/n):");
    while((ch = getchar())!='n')
    {
      while(ch == 'y')
      {
            printf("\n请输入一个整数:");
            //scanf("%d",&num);
            while(scanf("%d",&num) != 0)
            {
                while(num)
                {
                  Nicoches(num);//输出当前num^3的结果
                  num--;
                }
                if(num == 0 ) break;
            }
            if(num == 0)
            {
                printf("\n\n是否接续:(y/n)");
                break;
            }
      }
    }


    return 0;
}


void Nicoches(int num);这个函数仅仅是输出结果的,有兴趣的话可以看看。
交互功能已经能够实现:输入y/n进行程序循环进行,并以输入n结束

运行结果附图。

不过我试了几个小时发现输入yes程序不能运行。
有没有什么办法能够使这个程序能够输入
                以yes或以y开头的任意字符串时程序可以正常运行
                以no 或以n开头的任意字符串时程序可以正常终止
求解!

大肥侃子 发表于 2020-3-4 00:56:27

0:定义一个字符串str
1:循环内使用gets()函数直接获取一串字符到str
2:对第一个字符进行判定
页: [1]
查看完整版本: 程序交互功能完善