Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C、 每次运行时添加编号_C_While Loop - Fatal编程技术网

C、 每次运行时添加编号

C、 每次运行时添加编号,c,while-loop,C,While Loop,您好,在编码方面相当新,我有一个程序,每次运行该程序时都应该添加一个数字,它计算1+2+3+…(n-1)+n 以及一个if语句,该语句将该值与(n*(n+1))/2进行比较,然后在相同或不同的情况下显示一条消息 #include <stdio.h> int main(void) { int value = 0, n_data_value, count = 0, second_value; printf("Enter a number\n"); scanf("%lf"

您好,在编码方面相当新,我有一个程序,每次运行该程序时都应该添加一个数字,它计算1+2+3+…(n-1)+n 以及一个if语句,该语句将该值与(n*(n+1))/2进行比较,然后在相同或不同的情况下显示一条消息

#include <stdio.h>

int main(void)
{

  int value = 0, n_data_value, count = 0, second_value;

  printf("Enter a number\n");
  scanf("%lf", &n_data_value);

  while (count < 10) {
   value = (1 + value) + (n_data_value - 1) + n_data_value;
   printf("%f\n", value);
   second_value = (n_data_value * (n_data_value + 1))/2;
   printf("The number is %f\n", value);
   count = count + 1;

   if(value = second_value){
     printf("value = %f and second_value = %f", value, second_value);
   }
  } 
 return 0;
}
#包括
内部主(空)
{
int值=0,n数据值,计数=0,第二个值;
printf(“输入数字”);
扫描频率(“%lf”、&n\u数据值);
同时(计数<10){
值=(1+值)+(n_数据值-1)+n_数据值;
printf(“%f\n”,值);
第二个_值=(n_数据_值*(n_数据_值+1))/2;
printf(“数字是%f\n”,值);
计数=计数+1;
如果(值=第二个值){
printf(“值=%f和第二个值=%f”,值,第二个值);
}
} 
返回0;
}
当我运行它时,我就得到了这个

输入数字3

百万

这个数字是0.000000

百万

这个数字是0.000000

百万

这个数字是0.000000

百万

这个数字是0.000000

百万

这个数字是0.000000

百万

这个数字是0.000000

百万

这个数字是0.000000

百万

这个数字是0.000000

百万

这个数字是0.000000

百万

这个数字是0.000000


scanf
/
printf
中使用
%d
int
变量


%lf
用于
值。

匹配
秒值
的测试也是错误的。使用
==
测试是否相等

i、 e.变化

if(value = second_value){


请注意,在启用警告的情况下编译(
-Wall
用于gcc,
/W4
用于msvc)会为您标记此选项。

我认为您只需要此选项

#include <stdio.h>

int main(void)
{

  int value = 0, n_data_value, count = 1, second_value;

  printf("Enter a number\n");
  scanf("%d", &n_data_value);

  while (count <= n_data_value) {//while loop to calculate 1+2+3+...+n
   value = value + count;
   count = count + 1;
  }
  second_value = (n_data_value * (n_data_value + 1))/2;//calculates n(n+1)/2
  printf("The number is %d\n", second_value);

 if(value == second_value){//compares value
     printf("value = %d and second_value = %d", value, second_value);
   } 
 return 0;
}
#包括
内部主(空)
{
int值=0,n数据值,计数=1,第二个值;
printf(“输入数字”);
scanf(“%d”、&n\u数据值);

while(count如果你想做一次以上:只需添加如下内容:

#include <stdio.h>

int main(void)
{

   int value = 0, n_data_value, count = 1, second_value;
   char char_quit='';

   do //Infinite loop
   {

      printf("Enter a number\n");
      scanf("%d", &n_data_value);

      while (count <= n_data_value) {//while loop to calculate 1+2+3+...+n
        value = value + count;
        count = count + 1;
      }
     second_value = (n_data_value * (n_data_value + 1))/2;//calculates n(n+1)/2
     printf("The number is %d\n", second_value);

     if(value == second_value)//compares value
     {
        printf("value = %d and second_value = %d", value, second_value);
     } 

     //Ask to continue ?
     printf("Do you want to continue ? Y/N \n"); //Y or any other key will force to continue the program
     scanf("%c", &char_quit );

  }while (char_quit == 'n' || char_quit == 'N');

  return 0;
}
#包括
内部主(空)
{
int值=0,n数据值,计数=1,第二个值;
char\u quit='';
do//无限循环
{
printf(“输入数字”);
scanf(“%d”、&n\u数据值);

while(count Hmm我如何在编译器中启用警告?只需添加-wall或?:)如果您是从命令行编译的,请为gcc添加-wall或为msvc添加/W4。如果您使用的是IDE,将有一个生成设置对话框,该对话框接受有效的编译器标记,但如果我想运行该程序更多次,该怎么办?:)当程序运行并修复循环逻辑和数学时,您将在
N=65535
之后发现公式和循环值之间存在差异。请参阅
#include <stdio.h>

int main(void)
{

   int value = 0, n_data_value, count = 1, second_value;
   char char_quit='';

   do //Infinite loop
   {

      printf("Enter a number\n");
      scanf("%d", &n_data_value);

      while (count <= n_data_value) {//while loop to calculate 1+2+3+...+n
        value = value + count;
        count = count + 1;
      }
     second_value = (n_data_value * (n_data_value + 1))/2;//calculates n(n+1)/2
     printf("The number is %d\n", second_value);

     if(value == second_value)//compares value
     {
        printf("value = %d and second_value = %d", value, second_value);
     } 

     //Ask to continue ?
     printf("Do you want to continue ? Y/N \n"); //Y or any other key will force to continue the program
     scanf("%c", &char_quit );

  }while (char_quit == 'n' || char_quit == 'N');

  return 0;
}