Mxode/CSDN-C_Language-2013_2023 huggingface dataset:
user-0 提问: c语言

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 5 楼 寻开心的回复:用两个参数是想把结果放到第二个参数吗？ void delchar(char *a,char *s,char c)   {      int i,j;         j=0;          for(i=0;a[i]!='\0';i++)       {                     if(a[i]!=c)    s[j++]=a[i];         }           s[j]='\0';         } 嗯嗯，这个是我自己想的，不知道怎么做，

user: user-2
content: 用两个参数是想把结果放到第二个参数吗？ void delchar(char *a,char *s,char c)   {      int i,j;         j=0;          for(i=0;a[i]!='\0';i++)       {                     if(a[i]!=c)    s[j++]=a[i];         }           s[j]='\0';         }

user: user-3
content: #include<stdio.h>  //void delchar(char *a,char *s,char c);  void delchar(char *str, int c);  int main() {     char a[40]; //s[40];     //char c;     int c;     int b;     scanf("%d",&b);     getchar();     while (b--) {         fgets(a, 40, stdin);         c = getchar();         //delchar(a,s,c);         delchar(a, c);         //printf("%s",s);         printf("%s", a);         getchar();     }      return 0; }  #if 0 void delchar(char *a,char *s,char c) {     s=a;     int i,j;     j=0;     for (i=0;s[i]!='\0';i++) {         if(s[i] != c) {             s[j++]=s[i];         }         s[j]='\0';     } } #endif  void delchar(char *str, int c) {     int i, j = 0;      for (i = 0; str[i]; i++)         if (str[i] != c)             str[j++] = str[i];     str[j] = 0; }  供参考～  delchar的参数应该是用2个就好了。

user: user-0
content: 引用 2 楼 m0_45847633的回复:[quote=引用 1 楼 寻开心的回复:]自己写代码呗， 出错了贴代码出来提问就好了 #include<stdio.h>    void delchar(char *a,char *s,char c);   int main()   {      char a[40],s[40];       char c;       int b;       scanf("%d",&b);       while(b--)       {          gets(a);          c=getchar();           delchar(a,s,c);   printf("%s",s);       }                                      return 0;  }    void delchar(char *a,char *s,char c)   {       s=a;        int i,j;        j=0;        for(i=0;s[i]!='\0';i++)       {          if(s[i]!=c)        {           s[j++]=s[i];       }       s[j]='\0';         }[/quote] 可以帮我看看哪里错了吗

user: user-0
content: 引用 1 楼 寻开心的回复:自己写代码呗， 出错了贴代码出来提问就好了 #include<stdio.h>    void delchar(char *a,char *s,char c);   int main()   {      char a[40],s[40];       char c;       int b;       scanf("%d",&b);       while(b--)       {          gets(a);          c=getchar();           delchar(a,s,c);   printf("%s",s);       }                                      return 0;  }    void delchar(char *a,char *s,char c)   {       s=a;        int i,j;        j=0;        for(i=0;s[i]!='\0';i++)       {          if(s[i]!=c)        {           s[j++]=s[i];       }       s[j]='\0';         }

user: user-2
content: 自己写代码呗， 出错了贴代码出来提问就好了
user-0 提问: c计算器

回复:
user: user-0
content: 我不知道怎么调啊，而且我还要有注释

user: user-1
content: 不知道你所谓的简单是那种简单。你把加减乘除分别封装为四个函数，在主函数里调就行了。

user: user-0
content: 有没有更简单一点的，只要计算器源码有包括四个函数就行了

user: user-1
content: #include<stdio.h> #include<math.h> #include<stdlib.h> int main() {     int number;     double a,b;     printf(".................................\n");     printf("..........加法运算请按1..........\n");     printf("..........减法运算请按2..........\n");     printf("..........乘法运算请按3..........\n");     printf("..........除法运算请按4..........\n");     printf("..........结束程序请按0..........\n");     printf(".................................\n");     while (1)     {         printf("  请输入要进行运算的编号：");         scanf("%d",&number); //#################################################################################         if(number==1)              //实现加法         {             double a[1000],sum=0;             printf("  本次是加法运算,请输入要加的数字:\n");             for(int i=0;;i++)             {                 scanf("%lf",&a[i]);                 sum=sum+a[i];                 if(getchar()=='\n')break;             }             printf("  本次加法运算的结果为:%.3lf\n",sum);          }         //continue; //#################################################################################          else if(number==2)            //实现减法         {             double a[1000],sum=0;             printf("  本次是减法运算,请输入被减数(单个数字):\n");             scanf("%lf",&sum);             printf("  请输入减数(多个数字):\n");             for(int i=0;;i++)             {                 scanf("%lf",&a[i]);                 sum=sum-a[i];                 if(getchar()=='\n')break;             }             printf("  本次减法运算的结果为:%.3lf\n",sum);          }          //continue; //#################################################################################          else if(number==3)           //实现乘法         {             double a[1000],sum=1;             printf("  本次是乘法运算,请输入要乘的数字:\n");             for(int i=0;;i++)             {                 scanf("%lf",&a[i]);                 sum=sum*a[i];                 if(getchar()=='\n')break;             }             printf("  本次乘法运算的结果为:%.5lf\n",sum);          }          //continue; //#################################################################################          else if(number==3)           //实现除法         {             double a[1000],sum;             printf("  本次是除法运算,请输入被除数(单个数字):\n");             scanf("%lf",&sum);             printf("  请输入除数(多个数字):\n");             for(int i=0;;i++)             {                 scanf("%lf",&a[i]);                 sum=sum/a[i];                 if(getchar()=='\n')break;             }             printf(" 本次除法运算的结果为:%.5lf\n",sum);             //continue;          } //#################################################################################          else if(number==0)          {              break;          }          else         {             printf("  警告！！！输入运行编号错误，请输入1~4之内的数字！\n");         }         //system ("cls");                //清屏      }  }

user: user-0
content: 是c语言计算器，漏写了

user: user-2
content: 提问题都不会。

user: user-3
content: 这题太难了 只有大牛才能做出来
user-0 提问: C语言文件

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 3 楼 user-2的回复:你定义了readfile函数，并没有看到在哪里调用了啊 如果我想调用应该怎样使用

user: user-2
content: 你定义了readfile函数，并没有看到在哪里调用了啊

user: user-2
content: 你定义了readfile函数，并没有看到在哪里调用了啊

user: user-0
content: 引用 1 楼 user-2的回复:并没有看到调用readfile呀？ 不太会用文件能详细说一下吗

user: user-2
content: 并没有看到调用readfile呀？
user-0 提问: 求大佬解救(ಥ_ಥ)，用C语言编写

回复:
user: user-1
content: 哪里的老师？误人子弟

user: user-2
content: 哪里的老师？误人子弟

user: user-0
content: 急求，在线等大佬。

user: user-0
content: 引用 2 楼 寻开心的回复:不明白你要做什么 if (A>B && A>D && A<C ) 输出1  这个意思吗？ 老师刚通知，题目是别人出的，他先去问清楚这题什么意思，他也没搞懂。。。。

user: user-3
content: 不明白你要做什么 if (A>B && A>D && A<C ) 输出1  这个意思吗？
user-0 提问: 求解。

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 指针就是地址，这个说法太模糊了。指针也是变量，和普通变量，比如int， char等变量不一样，指针变量里存放的是地址值。即内存中位置信息。

user: user-3
content: 可以说是错的，问题关键是先问清楚，变量的指针到底指的是什么？莫名其妙的提法！

user: user-0
content: 谢谢谢谢！所以是错的，对吧？

user: user-3
content: 很多人想不明白指针的概念，我觉得主要是绕不过弯来。其实这种概念很简单，所有变量都有地址，也都要通过地址来读写，这是我们目前的计算机系统决定的，这样的一种存储模式。只不过呢，一般情况下我们都是直接通过地址来访问内存的，现在引入了指针，只不过是没把这个地址写死在代码里面，而是存储在另一个变量里面而已，当我们要访问一个内存的时候，总是先从这个变量（也就是所谓的指针）取到一个地址，然后再通过这个地址来访问对应的内存。 可能有些人会奇怪，我们好像并没有用到地址呀？实际上，我们引用到一个变量的时候，编译器都会帮我们翻译成地址的，这样我们平常都用变量名，比较容易理解代码的含义。当然，指针既然也是变量的一种，本身也是有地址的

user: user-3
content: 一个变量的指针，这种说法有点问题，指针是一种变量，它指向一个变量，也可以指向另一个变量。同时，一个变量也可能会有多个指针指向它，也可能没有一个指针指向它，那么变量的指针指的是什么（哪个？）变量的地址都是存在的，不管有没有指针的存在

user: user-3
content: 一个变量的指针，这种说法有点问题，指针是一种变量，它指向一个变量，也可以指向另一个变量。同时，一个变量也可能会有多个指针指向它，也可能没有一个指针指向它，那么变量的指针指的是什么（哪个？）变量的地址都是存在的，不管有没有指针的存在

user: user-0
content: 引用 5 楼 user-3的回复:可以说是错的，问题关键是先问清楚，变量的指针到底指的是什么？莫名其妙的提法！ 这不是自制的题是试卷上的判断题
user-0 提问: 请问为什么输入不了顶点，实现不了有向图，代码显示没错，但实现不了功能

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html
user-0 提问: 哥哥姐姐们帮我看下这个代码对不对呀，为啥我明明新建了文档，但是结果却总是说没办法打开呢

回复:
user: user-0
content: 引用 3 楼 it_xiangqiang的回复:希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html 谢谢大佬真的网站的模板怎么做不

user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 1 楼 自信男孩的回复:#include<stdio.h> #include<stdlib.h>  //void main() int main() {     FILE*fp;     char filename[20];     int ch;   //定义为int,这样才能与EOF比较     printf("please input the filename you want to write:");     scanf("%s",filename);     //if( !(fp==fopen(filename,"wt+")) );    //为啥多一个分号, 为啥用==     if(!(fp=fopen(filename,"wt+")))     {         printf("cannot open the file!\n");         exit(0);     }     printf("please input the sentences you want to write:");     ch = getchar();     ch = getchar();     while( ch!=EOF )     {         fputc(ch,fp);         ch=getchar();     }     fclose(fp);      return 0; } 供参考～ 谢谢~~

user: user-2
content: #include<stdio.h> #include<stdlib.h>  //void main() int main() {     FILE*fp;     char filename[20];     int ch;   //定义为int,这样才能与EOF比较     printf("please input the filename you want to write:");     scanf("%s",filename);     //if( !(fp==fopen(filename,"wt+")) );    //为啥多一个分号, 为啥用==     if(!(fp=fopen(filename,"wt+")))     {         printf("cannot open the file!\n");         exit(0);     }     printf("please input the sentences you want to write:");     ch = getchar();     ch = getchar();     while( ch!=EOF )     {         fputc(ch,fp);         ch=getchar();     }     fclose(fp);      return 0; } 供参考～
user-0 提问: system函数头文件是#include还是#system?

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 1 楼 @矛盾综合体的回复:头文件都是#include开头的 没有#system<stdlib.h>的？

user: user-0
content: 引用 2 楼 自信男孩的回复:第二个<stdlib.h>  但是没有见过<studio.h>这样的头文件，倒是见过<stdio.h>头文件 半夜写的，可能写错了

user: user-2
content: 第二个<stdlib.h>  但是没有见过<studio.h>这样的头文件，倒是见过<stdio.h>头文件

user: user-3
content: 头文件都是#include开头的
user-0 提问: 以下代码怎么改成用指针数组的形式

回复:
user: user-1
content: #include <stdio.h> #define M 1000  int tem[M][M]; int a[M][M]; int* mytem[M]; int* mya[M]; void Rotation(int** a, int m, int n) { 	int i, j, k = 0; 	for (j = n - 1; j >= 0; j--) 	{ 		for (i = 0; i<m; i++) 			mytem[k][i] = a[i][j]; 		k++; 	} 	for (i = 0; i<n; i++) 		for (j = 0; j<m; j++) 			a[i][j] = mytem[i][j]; }   int main() { 	int m, n; 	int i, j;  	for (i = 0; i < M; ++i) 	{ 		mytem[i] = tem[i]; 		mya[i] = a[i]; 	} 	scanf("%d %d", &m, &n); 	for (i = 0; i<m; i++) 		for (j = 0; j<n; j++) 			scanf("%d", &mya[i][j]); 	Rotation(mya, m, n); 	for (i = 0; i<n; i++) 	{ 		for (j = 0; j<m; j++) 			printf("%d ", mya[i][j]); 		printf("\n"); 	} 	return 0; } VS2015调试  请参考 《C++中的指针数组与数组指针》 《C++中指针的数组和数组的指针》 希望能够帮到你！
user-0 提问: 编辑距离用c语言怎么写啊

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html
user-0 提问: 我这个代码为什么输入ID后就跳过for循环了？求解

回复:
user: user-0
content: 引用 11 楼 冷风1023的回复:[quote=引用 9 楼 qq_45895535 的回复:] [quote=引用 7 楼 棉猴的回复:]VS2015调试没问题   Id用英文输入，就回跳过[/quote] char s[10]; scanf("%s",s)[/quote] Ok,已经解决了  感谢

user: user-1
content: 请参考《C++控制台程序判断输入的数字》 希望能够帮到你！

user: user-2
content: 引用 9 楼 qq_45895535 的回复:[quote=引用 7 楼 棉猴的回复:]VS2015调试没问题   Id用英文输入，就回跳过[/quote] char s[10]; scanf("%s",s)

user: user-2
content: 如果你要输入字符就应该重新定义数组来保存你的输入。

user: user-0
content: 引用 7 楼 棉猴的回复:VS2015调试没问题   Id用英文输入，就回跳过

user: user-2
content: 你输入的ID应该不是纯数字吧，应该带了字符这些吧。

user: user-1
content: VS2015调试没问题

user: user-0
content: 引用 4 楼 宾灬的回复: 我的id是输入的英文

user: user-0
content: 引用 4 楼 宾灬的回复: 可能我们编译器不一样吧，刚刚我把%d改为%s就可以了

user: user-3

user: user-0
content: 引用 1 楼 宾灬的回复:没问题啊，可以运行 我运行的时候不用输入密码

user: user-0
content: 引用 1 楼 宾灬的回复:没问题啊，可以运行 我运行就直接跳过了

user: user-3
content: 没问题啊，可以运行
user-0 提问: c语言的问题，急，求大佬帮忙，谢谢

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 报错信息提示花括号不匹配，你好好检查一下。

user: user-0
content: 引用 1 楼 user-3 的回复：前面的代码左右花括号不匹配吧没有吧，应该对着的

user: user-3
content: 前面的代码左右花括号不匹配吧
user-0 提问: Linux原始套接字抓包程序  利用QT界面化时遇到的问题

回复:
user: user-0
content: 引用 2 楼 宾灬 的回复:为什么要把int main()放到qt里？ 你直接在qt中开发，把抓到的包数据给view就行了。  请问怎么样在QT中写呢...不太懂怎么将抓到的数据传给View

user: user-1
content: 为什么要把int main()放到qt里？ 你直接在qt中开发，把抓到的包数据给view就行了。

user: user-0
content: 图上只是我测试如何在tableview里输出内容 我自己的函数整体并未贴出，就是不知道该把自己int main()放在这个QT的哪里 以及输出时 该怎么去进行
user-0 提问: 求大佬帮帮我

回复:
user: user-1
content: 给分吧 // // Created by denglibin on 2019/12/24 0024. // // 杨辉三角  #include <stdio.h> #define N 10 /**  * 打印杨辉三角  * @param n 行数  */ void show(){     int arr[N][N] = {0};     for(int i = 0; i < N; i++){         for(int j = 0; j <= i; j++){             if(j == 0 || j == i){                 arr[i][j] = 1;             } else {                 arr[i][j] = arr[i-1][j-1] + arr[i-1][j];             }             if(arr[i][j] != 0){                 printf("%d", arr[i][j]);             }         }         printf("\n");     }   } int main(){     show();     return 0; }
user-0 提问: 大一小白，求大神解答。

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 高级语言，比如C语言，需要先声明一个变量才可以使用它，int a; 声明变量后就会分配内存空间，这样变量名就和地址联系在一起了。就可以通过变量名来访问内存单元，比如赋值操作，a=100; 用printf("%p",&x); 就可以知道内存地址。

user: user-3
content: 编译器帮你把变量名翻译成地址而已啦
user-0 提问: 我是小白

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 可以将每三位看成是八进制的一位，例如你上边所说的 可以看做010     100      010这三位  010是2，100是4，010是2，这样8进制就是242，类比十六进制，将每四位看成16进制的一位。

user: user-3
content: 先想想，如果给你这样一个二进制数据，你怎么算出它对应的八进制和16进制数。这样你就可以知道怎么编写代码了，算法就是你的计算方法。
user-0 提问: 请教一下 这个刷屏的程序错误

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 发源码吧。  无限循环的原因是输入的非数字无法和%d匹配，但是非数字还在输入缓存里，当继续用%d匹配，还是不配。因此一直这样，所以是无限循环了。解决办法是如果scanf_s的返回值不是1，那么把输入缓存清空即可。

user: user-0
content: 引用 1 楼 未来为我而来的回复:横着看着难受 我拍的竖的传上去就横着了

user: user-3
content: 横着看着难受
user-0 提问: C语言小白虚心请教

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: scanf_s("%c,%c",&c1, 1, &c2, 1); 如上修改，试一下～

user: user-0
content: 引用 8 楼 user-3的回复:修改一下项目设置就好了啊，去百度吧 好的，老师，谢谢您，给您添麻烦了，大一，下半年学c，现在没事自学一下

user: user-3
content: 修改一下项目设置就好了啊，去百度吧

user: user-0
content: 引用 4 楼 user-3的回复:改成scanf吧，初学者先不要考虑安全不安全了，只是个练习而已。项目设置里面把安全检查也关了 老师您好，谢谢，我最初用的就是scanf，因为教材也是，但在vs2019中，编译都通不过，显示有错误

user: user-3
content: 函数怎么用，去百度就好了

user: user-3
content: 改成scanf吧，初学者先不要考虑安全不安全了，只是个练习而已。项目设置里面把安全检查也关了

user: user-3
content: 改成scanf吧，初学者先不要考虑安全不安全了，只是个练习而已。项目设置里面把安全检查也关了

user: user-0
content: 引用 1 楼 user-3的回复:警告信息不是说的很清楚吗？函数参数错了 如果我不用scanf_s函数，改用putchar函数就能正常运行，不太明白

user: user-0
content: 引用 1 楼 user-3的回复:警告信息不是说的很清楚吗？函数参数错了 谢谢，我知道阿，怎么改正？

user: user-2
content: 引用 11 楼 不忘初心20191013 的回复:[quote=引用 10 楼 自信男孩的回复:]scanf_s("%c,%c",&c1, 1, &c2, 1); 如上修改，试一下～ 谢谢您，按您说的方法修改了，程序运行正常！！！我把这种方法用在整型和实型上，不行。是不是只针对字符和字符串啊[/quote] 整型数据不需要，对于字符串，字符类型的需要

user: user-0
content: 引用 10 楼 自信男孩的回复:scanf_s("%c,%c",&c1, 1, &c2, 1); 如上修改，试一下～ 谢谢您，按您说的方法修改了，程序运行正常！！！我把这种方法用在整型和实型上，不行。是不是只针对字符和字符串啊

user: user-3
content: 警告信息不是说的很清楚吗？函数参数错了
user-0 提问: 求大佬解释一下这个有什么用

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: get_only_one_world() 看起来是把当前输入键盘缓冲的 数据 全部清空，直到下一行   可能是用户输入。“abc jdjdjd”这样的字符串，而代码只想要第一个abc单词， 后面的清理掉 ，就调用这个函数 这样不管每行输入多少东西， 只保留第一个单词  猜测
user-0 提问: 救急，（分没有了）c语言如何将信息写入文件？跪求了

回复:
user: user-1
content: c)读文件 函数 ：fread d)写文件 函数 ：fwrite 1、fopen函数:建立1个FILE*指针，连接到文件上 函数原型：FILE * fopen(const char * path,const char * mode); 参数： filename：指定绝对路径或者相对路径的文件名。 mode：分别指定 "r":当文件存在返回有效文件指针，当文件不存在返回空指针。包括路径必须是正确的。 "w":如果文件不存在,创建文件。如果文件存在，清空该文件重新写内容。(fwrite) "a":如果文件不存在,创建文件。如果文件存在，不清空原有内容，在原有内容后面追加内容。(fwrite) 当文件不可以写入时，包括文件只读，或者被另一个进程占用。 "w"和"a"都会返回空指针。 返回值：FILE* 文件指针类型，可以认为是驾驶员的手柄，把文件操作比作对汽车驾驶

user: user-0
content: 引用 4 楼 等风、来 的回复：c)读文件 函数 ：fread d)写文件 函数 ：fwrite 1、fopen函数:建立1个FILE*指针，连接到文件上 函数原型：FILE * fopen(const char * path,const char * mode); 参数： filename：指定绝对路径或者相对路径的文件名。 mode：分别指定 "r":当文件存在返回有效文件指针，当文件不存在返回空指针。包括路径必须是正确的。 "w":如果文件不存在,创建文件。如果文件存在，清空该文件重新写内容。(fwrite) "a":如果文件不存在,创建文件。如果文件存在，不清空原有内容，在原有内容后面追加内容。(fwrite) 当文件不可以写入时，包括文件只读，或者被另一个进程占用。 "w"和"a"都会返回空指针。 返回值：FILE* 文件指针类型，可以认为是驾驶员的手柄，把文件操作比作对汽车驾驶啥时候像你这么优秀

user: user-0

user: user-0
content: 引用 7 楼 Donald_Shallwing 的回复：fprintf() 将信息格式化写入文件是最好的不会不会啊啊啊啊啊啊

user: user-2
content: fprintf() 将信息格式化写入文件是最好的

user: user-3
content: 引用 2 楼 weixin_45268523 的回复:引用 1 楼 @矛盾综合体 的回复：建议看一下文件i/o相关资料哇，哪里懂啊，课程设计要结束了 想论坛找人直接帮你写代码不现实的，简短点还有可能，而且论坛不是帮人写代码的，是帮忙看看改改的，建议找找有没有类似的原码吧

user: user-0
content: 引用 1 楼 @矛盾综合体 的回复：建议看一下文件i/o相关资料哇，哪里懂啊，课程设计要结束了

user: user-3
content: 建议看一下文件i/o相关资料
user-0 提问: #此源码多个编译器都奈何不了#

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 1 楼 自信男孩的回复:#include <stdio.h> #include <stdlib.h>  int main() {     double aver(double a[],int n);     double zu1[5],zu2[10];     int i;     printf("这是一个求小组平均分的system：\n第一组5人第二组10人\n");     printf("请输入第一组5名同学的成绩：\n");     for(i=0;i<5;i++)     {         //scanf("%-2.1lf",&zu1[i]);         scanf("%lf",&zu1[i]);     }     printf("请输入第二组10名同学的成绩：\n");     for(i=0;i<10;i++)     {         //scanf("%-2.1lf",&zu2[i]);         scanf("%lf",&zu2[i]);     }     //printf("第一组的平均分为：%-2.1l\n",aver(zu1,5));     printf("第一组的平均分为：%-2.1lf\n", aver(zu1,5));     //printf("第一组的平均分为：%-2.1l\n",aver(zu2,10));     printf("第一组的平均分为：%-2.1lf\n", aver(zu2,10));      return 0; }  double aver(double a[],int n) {     double sum=a[0],PJS;     int c;     for(c=1;c<n;c++)         sum=sum+a[c];     PJS=sum/n;     return(PJS); } 供参考～  跟编译器没关系吧，还是程序写的有问题 非常感谢啊！我回去再试试

user: user-2
content: #include <stdio.h> #include <stdlib.h>  int main() {     double aver(double a[],int n);     double zu1[5],zu2[10];     int i;     printf("这是一个求小组平均分的system：\n第一组5人第二组10人\n");     printf("请输入第一组5名同学的成绩：\n");     for(i=0;i<5;i++)     {         //scanf("%-2.1lf",&zu1[i]);         scanf("%lf",&zu1[i]);     }     printf("请输入第二组10名同学的成绩：\n");     for(i=0;i<10;i++)     {         //scanf("%-2.1lf",&zu2[i]);         scanf("%lf",&zu2[i]);     }     //printf("第一组的平均分为：%-2.1l\n",aver(zu1,5));     printf("第一组的平均分为：%-2.1lf\n", aver(zu1,5));     //printf("第一组的平均分为：%-2.1l\n",aver(zu2,10));     printf("第一组的平均分为：%-2.1lf\n", aver(zu2,10));      return 0; }  double aver(double a[],int n) {     double sum=a[0],PJS;     int c;     for(c=1;c<n;c++)         sum=sum+a[c];     PJS=sum/n;     return(PJS); } 供参考～  跟编译器没关系吧，还是程序写的有问题
user-0 提问: C语言小白，请大神指点！

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: int sum=0; for(int i=1; i<6; i=i+2) {       if(i%2)      {           sum += st[i];      } }

user: user-3
content: int sum=0; for(int i=0; i<6; i++) {       if(i%2)      {           sum += st[i];      } }
user-0 提问: 写的计算二进制文件的checksum程序有问题，求助

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 搞定了  int main(int argc,char *argv[]) { unsigned int cksum=0; FILE *fp; char ch;   if (!(fp=fopen("f:\\test1.rom","rb"))) { printf("Error in open file!\n"); return 1; }      ch = fgetc(fp);     while(!feof(fp))     {         cksum += ch&0xff;         ch = fgetc(fp); //	printf("%x ", cksum);     }     printf("checkSum: %x\n", cksum); fclose(fp);  return 0; }

user: user-0
content: 这个二进制文件碰到中间有0xFF怎么处理？ 而且文件长度不定 读到0xFF就认为是文件EOF了

user: user-2
content: 取出每行，然后再取出:和;之间的字符串，遍历，每两个字符合为一个字符串，将此字符串转换为十六进制，以此类推，将每个十六进制相加，
user-0 提问: 求各位大佬帮我修改一下，谢谢

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html
user-0 提问: 在DEV-C++中使用链表，出现了“Program received signal SIGSEGV,Segmentation fault.”的问题

回复:
user: user-1
content: #include <stdio.h> #include <stdlib.h>//开辟动态内存的头文件 #include <string.h> //定义一个学生信息的结构体  typedef struct Student //typedef：便于使用别名 {     char Name[10]; //姓名     int  Age; //年龄     int  StuNum; //学号     int  Score; //总成绩 }Student;//一个结点  typedef struct Node {     Student stu; //学生信息（信息域）     struct Node* pNext; //指向下一个结点的指针（指针域） }Node;  Node *g_pHead = NULL; //定义头节点为空 //创建链表 struct Node* createList() {     //struct Node* head = (struct Node*)malloc(sizeof(struct Node));//动态内存分配     struct Node* head = (struct Node*)malloc(sizeof(struct Node));//动态内存分配     head->pNext = NULL;     return head; }  //删除节点 Node* dele() {     int num;     struct Node* head;     struct Node* posNode = head->pNext;      struct Node* posNodeFront = head;     if(posNode == NULL)     {         printf("数据为空，无法删除\n");         //return;         return NULL;     }     //while(strcmp(posNode->stu.StuNum,num))     while(posNode->stu.StuNum != num)     {         posNodeFront = posNode;         posNode = posNodeFront->pNext;         if(posNode == NULL)         {             printf("没有找到相关信息，正常退出！\n");             return NULL;         }     }     posNodeFront->pNext =posNode->pNext;     free(posNode); }  楼主的源码不能用吧，至少要把编译错误去掉。这样的程序不能用，建议自己先实现功能了，发一个完整的代码出来～

user: user-0
content: 引用 2 楼 寻开心的回复:看你最后的那张图， 定义了listHeadNode， 但是没有赋予初值就开始使用，错误就是这么产生的 哦哦，好的，谢谢。我改改试试。

user: user-2
content: 段错误，操作空指针、野指针或者不可操作的内存

user: user-3
content: 看你最后的那张图， 定义了listHeadNode， 但是没有赋予初值就开始使用，错误就是这么产生的
user-0 提问: 代码运行后有一个错误！急！

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 好的，我试试，谢谢！

user: user-2
content: 引用 4 楼 不会跳舞的跳舞先生 的回复:[quote=引用 2 楼 不会跳舞的跳舞先生的回复:][quote=引用 1 楼 冷风1023的回复:]size_t 后面不应该有个变量名吗？ ？？要加一个变量名吗？[/quote] 在第一个循环里面跳不出来[/quote] 这个就要具体情况具体分析了，用以使用GDB或者加打印日志慢慢查看了。循环跳不出来应该是条件变量值有问题。

user: user-0
content: 引用 2 楼 不会跳舞的跳舞先生的回复:[quote=引用 1 楼 冷风1023的回复:]size_t 后面不应该有个变量名吗？ ？？要加一个变量名吗？[/quote] 在第一个循环里面跳不出来

user: user-0
content: 引用 2 楼 不会跳舞的跳舞先生的回复:[quote=引用 1 楼 冷风1023的回复:]size_t 后面不应该有个变量名吗？ ？？要加一个变量名吗？[/quote] 加了变量后可以运行，但是进行不下去了😂

user: user-0
content: 引用 1 楼 冷风1023的回复:size_t 后面不应该有个变量名吗？ ？？要加一个变量名吗？

user: user-2
content: size_t 后面不应该有个变量名吗？
user-0 提问: 第一学期期末作业，ATM系统研究好几天了不会做谢谢各位大神了

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 分层设计，不会网上搜一下，马上就搞定，这作业不复杂，也不太会有后续扩展了，不完整分层也可 信息存储如果不会数据库的话可以选择存文件 具体的就不说了
user-0 提问: 求一定范围内素数之和

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 10 楼 自信男孩的回复:#include<stdio.h> int main() {     int n,i,j,sum,sum1;     while(scanf("%d", &n)!=EOF)     {         sum1 = 0;         for(i=10;i<=n;i++)         {             sum = 0;    //init 0             for(j=2;j<i;j++)             {                 if(i%j==0)                     sum++;             }             if(sum==0)                 //sum1=sum1+i;                 sum1 = sum1 + 1;          }         printf("%d\n",sum1);     }     return 0; }  供参考～ 谢谢谢谢，主要的就是记得sum清零

user: user-2
content: #include<stdio.h> int main() {     int n,i,j,sum,sum1;     while(scanf("%d", &n)!=EOF)     {         sum1 = 0;         for(i=10;i<=n;i++)         {             sum = 0;    //init 0             for(j=2;j<i;j++)             {                 if(i%j==0)                     sum++;             }             if(sum==0)                 //sum1=sum1+i;                 sum1 = sum1 + 1;          }         printf("%d\n",sum1);     }     return 0; }  供参考～

user: user-0
content: 好的，我回去调试一下试试，谢谢

user: user-3
content: 如果解决了你的问题，请采纳，如果还有疑问，请私信，谢谢！

user: user-3
content: 引用 6 楼 qq_45818304 的回复:[quote=引用 2 楼 @矛盾综合体的回复:]而且sum1没有初始化 不是默认为零吗？？[/quote] no，全局变量是，临时变量不是

user: user-0
content: 引用 2 楼 @矛盾综合体的回复:而且sum1没有初始化 不是默认为零吗？？

user: user-0
content: 引用 1 楼 @矛盾综合体的回复:sum没有清零（每次循环后） 难道应该放在我写的位置的上一层循环中去？？

user: user-0
content: 引用 1 楼 @矛盾综合体的回复:sum没有清零（每次循环后） 我在printf后面不是加了清零吗

user: user-3
content: 还有sum也没有初始化

user: user-3
content: 而且sum1没有初始化

user: user-3
content: sum没有清零（每次循环后）
user-0 提问: c#窗口程序如何跨程序控制Visible属性？

回复:
user: user-0
content: 就是知道一个窗口句柄然后用API来设置这个窗口可视为假   这个问题我已经解决了 [DllImport("user32.dll", EntryPoint = "ShowWindowAsync")]         public static extern bool ShowWindowAsync(int hWnd, bool nCmdShow);

user: user-1
content: 具体想怎么实现？能再说具体一些吗
user-0 提问: 求大神讲解

回复:
user: user-1
content: 参考答案： #include <stdio.h> #include <stdlib.h> #define N 3 typedef struct employee{     char *no;//职工编号     int salary; //工资     struct employee * next; }Employee;  /**  * 链表展示  */ void list(Employee * head){     Employee * temp = head;     while(temp) {         printf("no:%s, salary:%d, next:%p\n", temp->no, temp->salary, temp->next);         temp = temp->next;     } } /**  * 创建链表  */ Employee * create(){     Employee * head = NULL;     Employee * pre = NULL;     int n = N;     while (n)     {         Employee * temp = (Employee *)calloc(1, sizeof(Employee));         if(head == NULL){             head = temp;             pre = head;         }else{             pre->next = temp;             pre = temp;         }         n--;     }     return head; } /**  * 插入  * @param head 链表头节点指针  * @param index 插入的位置 0开始  * @param no 职工号  * @param salary 工资  */ void insert(Employee * head, int index,  char* no, int salary){     Employee * target = head;     while (index){         target = target->next;         index--;     }     target->no = no;     target->salary = salary;    } /**  *保存到文件中  *@param  head 链表头节点  */ void output_to_file(Employee * head){     FILE * file = fopen("D:/paper", "w");     if(!file){         printf("fopen error");         return;     }     Employee * temp = head;     fprintf(file, "no\tsalary\n");     while(temp) {         fprintf(file, "%s\t%d\n", temp->no, temp->salary);         temp = temp->next;     }     fclose(file); } /**  * 释放链表内存  * @param head 链表头节点  */ void free_list(Employee *head){     Employee * target = head;     Employee * next;     while (target){         next = target->next;         //printf("free:%d\n", target->salary);         free(target->no);         free(target);         target = next;     }      } int main(){     Employee * head = create();     char * no;     int salary;     for(int i = 0; i < N; i++){        no = (char *)calloc(16, sizeof(char)); // 分配内存保存工号 16个字节        printf("\n输入职工号(少于15位):");        scanf("%s", no);        printf("\n输入工资:");        scanf("%d", &salary);        insert(head, i, no, salary);      }     list(head);     output_to_file(head);     free_list(head);     return 0; }
user-0 提问: 数据结构程序设计的一个c语言代码

回复:
user: user-1
content: 大佬不敢担，695072620@qq.com 我也学习一下你的代码

user: user-0
content: 引用 1 楼 棉猴的回复:VC++6.0，虽然是我的最爱，但是没有代码只有图片也没办法帮你 大佬，能给我你的邮箱吗？等会我把代码发给你

user: user-1
content: VC++6.0，虽然是我的最爱，但是没有代码只有图片也没办法帮你
user-0 提问: c语言中能不能手动输入数组长度、如果可以请指点一下、嘻嘻

回复:
user: user-1
content: 可以用动态堆栈，malloc或者calloc

user: user-2
content: int n; scanf("%d", &n);  int * p. = (int *) malloc( sizeof(int) * n ); 这是正规的。int p[n] n是人工输入的方法 。所有编译器都支持  有的编译器上，你可以这样来定义 ， 比如dev c++ int n; scanf("%d", &n); int p[n]; 但是并不是所有的编译器都支持这个， 比如 vs 不支持
user-0 提问: 求助大神C语言 指针与字符数组的问题

回复:
user: user-1
content: 一个“”双引号括起来的字符串，是首先储存在计算机的代码段，这个地方不能写，只能读，甚至有的计算机都不能读。 你如果把这个字符串赋值给一个字符数组，那就是从代码段copy出来到堆栈里面的一个备份，栈里面可以读可以写，随便你怎么搞。 但是你如果把这个字符串赋值给一个指针，用“”双引号括起来的字符串本事就代表这个字符串的首字节地址，你把这个首字节地址赋给了指针，这个指针指向的是代码段的最原始的字符串，不可写，你只要写就会出错

user: user-1
content: 很简单，第二种b指向的字符串在代码段，不可写，只能读

user: user-0
content: 顶顶顶顶顶顶
user-0 提问: c语言同时定义多个变量

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2

user: user-0
content: 引用 1 楼 user-3 的回复：[]先跟变量名结合，是个数组 *也是先跟变量名结合，是个指针谢谢

user: user-3
content: []先跟变量名结合，是个数组 *也是先跟变量名结合，是个指针
user-0 提问: C语言怎么读取access数据库中的数据进行求和后显示出来

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 需要数据库驱动。
user-0 提问: 如何理解C语言函数指针转递的问题？这三个调用函数的区别

回复:
user: user-1
content: 理解一下值传递和地址传递，你这个swap方法是值传递，方法调用额外开辟内存空间，方法结束后就释放了。

user: user-2
content: 引用 2 楼 weixin_45798902 的回复:[quote=引用 1 楼 @矛盾综合体的回复:]简短点，调用函数的过程中会产生临时变量（但是c++中对此进行优化，产生了引用），所以子函数中的参数和主函数的参数并不是一个参数。但是可以通过地址找到相应的变量，从而改变其值。第一种没什么用，实参改变的仅仅只是临时变量，与main中的无关，第二个，可以，通过传递形参，改变地址中的内容实现，第三种尽管传递地址，但是只是交换临时变量的指针指向，并没有改变内容，所有也没什么变化。 如有疑问请私信。 哦哦，非常感谢！ 如果还不懂得会不会私聊你的，嘻嘻[/quote] 可以

user: user-0
content: 引用 1 楼 @矛盾综合体的回复:简短点，调用函数的过程中会产生临时变量（但是c++中对此进行优化，产生了引用），所以子函数中的参数和主函数的参数并不是一个参数。但是可以通过地址找到相应的变量，从而改变其值。第一种没什么用，实参改变的仅仅只是临时变量，与main中的无关，第二个，可以，通过传递形参，改变地址中的内容实现，第三种尽管传递地址，但是只是交换临时变量的指针指向，并没有改变内容，所有也没什么变化。 如有疑问请私信。 哦哦，非常感谢！ 如果还不懂得会不会私聊你的，嘻嘻😁😁

user: user-2
content: 简短点，调用函数的过程中会产生临时变量（但是c++中对此进行优化，产生了引用），所以子函数中的参数和主函数的参数并不是一个参数。但是可以通过地址找到相应的变量，从而改变其值。第一种没什么用，实参改变的仅仅只是临时变量，与main中的无关，第二个，可以，通过传递形参，改变地址中的内容实现，第三种尽管传递地址，但是只是交换临时变量的指针指向，并没有改变内容，所有也没什么变化。 如有疑问请私信。
user-0 提问: 求大佬帮忙看看这题

回复:
user: user-1
content: 选择D，	[Error] invalid conversion from 'int*' to 'int' [-fpermissive]，改为int *P=a[1]+1; 就OK；

user: user-2
content: 应该是4 首先a数组应该是a[3][3]，*p=a[1]+1等价于：p=&a[1][0]+1,也就是p=&a[1][1] *a等价*（&a[0]）,也就是a[0],即&a[0][0] p-*a,也就是&a[1][1]-&a[0][0]，步长为4，相差应该是16的地址，16/4，也就是4，实际上也可以直接算相差元素个数4=3+1
user-0 提问: 单链表重复元素的剔除

回复:
user: user-1
content: 双重循环，里面判断如果相等的话，调用你链表的删除方法

user: user-2
content: 不考虑时间复杂度的话，重复遍历，从元素A开始，遍历余下元素，有重复则删除，直至最后一个元素。
user-0 提问: 如何实现组合多个条件进行查询【c语言】

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: void SearchCar(int cn) { 	int select; 	while(1) 	{ 		printf("\n       欢迎使用车辆信息查询服务\n"); 		printf("\n----------------------------------------------\n"); 		printf("\n          1.按车辆编号查询\n"); 		printf("\n          2.按车牌号查询\n"); 		printf("\n          3.按车型查询\n"); 		printf("\n          4.按座位数查询\n"); 		printf("\n          0.退出查询\n"); 		printf("\n----------------------------------------------\n"); 		printf("\n 请选择查询方式(0~5):");  		scanf("%d",&select); 		getchar(); 		switch(select) 		{ 			case 1:SearchCarnum1(cn);break; 			case 2:SearchCarnum2(cn);break; 			case 3:SearchCarname(cn);break; 			case 4:SearchCarseatnum(cn);break; 			case 0:return; 			default:printf("\n按键错误，请重新选择！\n"); 		} 	} }  void SearchCarnum1(int cn) { 	int i,j,k; 	char carnum1[20],c='y'; 	while(c=='y'||c=='Y') 	{ 		k=-1; 		printf("\n请输入车辆编号:"); 		gets(carnum1); 		for(i=0,j=1;i<cn;i++) 		if(strcmp(car[i].carnum1,carnum1)==0) 		{   k=i; 			printf("\n所查询车辆的信息:\n"); 			j++;  			OutputCar(k); 			printf("\n按任意键继续!\n");getch();  		} 		if(j==1) 		{ 			printf("\n抱歉!没有相应的车辆信息!\n"); 		} 		printf("\n继续查询其他车辆的信息吗?(y/n):"); 		c=getchar();getchar(); 	} 	printf("\n按任意键继续!\n"); 	getch(); }  我只会这样单个查询

user: user-2
content: 看你代码应该car是个结构体 不清楚你存储car的是vector还是别的什么，C++里面有个算法你可以看看，简单的多条件的话，就是 if(!strcmp(car[i].carnum1,carnum1) && !strcmp(car[i].carnum2,carnum2) && !strcmp(car[i].carname,carname)) 这样。麻烦点的通用点的用算法里面的仿函数，大致代码给你参考下 struct ST_Car { //车辆编号，车牌号，车型，座位数 char            fno[64]; char            number[10]; int             type; int             seats; ST_Car() {   void init(); } init() {   memset(fno,0x00,64);   memset(number,0x00,10);   type = -1;   seats = -1; } }  struct FCT_CAR { bool operator() FCT_CAR(const ST_Car * iter, const ST_Car * desc) {   if (strlen(desc->fno) && strcmp(iter->fno, desc->fno))     return false;    if (desc->type > 0 && iter->type == desc->type)     return false;    if (desc->seats > 0 && iter->seats == desc->seats)     return false;    if (strlen(desc->number))     if (strcmp(iter->fno, desc->number))       return false;    else      return true;    return false; };  }  find(const ST_Car& key) { vector<ST_Car>::iterator iter = ; iter = find_if(vec.begin(),vec.end(),key); return *iter; }

user: user-3
content: 这个用数据库操作最简单

user: user-4
content: 1、首先是输入，输入信息应该是包含你上面的所有信息，并把信息保存到一个结构体数组中 2、然后是查找，查找的话你也可以让输入者输入所有的信息，不过如果某些条件输入为空，表示不需要该条件 3、根据输入的1个或者几个条件，从第1步中的结构体数组中查找所有符合的信息

user: user-4
content: 1、首先是输入，输入信息应该是包含你上面的所有信息，并把信息保存到一个结构体数组中 2、然后是查找，查找的话你也可以让输入者输入所有的信息，不过如果某些条件输入为空，表示不需要该条件 3、根据输入的1个或者几个条件，从第1步中的结构体数组中查找所有符合的信息
user-0 提问: 急！！萌新不会，求大佬解题

回复:
user: user-1
content: #include <stdio.h>  int main() { 	int num; 	int mul=1; 	printf("请输入一个大于零的整数: "); 	scanf_s("%d", &num); 	for (int i = 1; i < num; i++) 	{ 		if (i % 7 == 0) 			mul *= i; 	} 	printf("乘积为: %d\n", mul); 	return 0; }

user: user-2
content: int i,N,sum = 1; 	scanf("%d",&N); 	for(i= 7;i<=N;i+=7) 	{ 		sum *=i; 	} 	printf("%d\n",sum);
user-0 提问: 求教，为什么无论输入什么内容会把所有if里东西都打印出来

回复:
user: user-1
content: 楼主程序的问题不止提出来的问题。 首先d是指向NULL的，如果直接用scanf接收输入的数据会导致段错误。这是第一个问题； 第二个问题，字符串比较需要用到strcmp/strncmp，而是不是d = "john"这是赋值。 第三个问题，scanf中去掉d前面的&。如果要用d，首先让其指向可读可写的内存区域，比如malloc/free申请空间。

user: user-2
content: ::strcmp

user: user-3
content: 赋值还是等于你得弄明白。

user: user-4
content: =  改成==
user-0 提问: C语言程序 求过程 求大佬们帮忙 在线等 很急急急！！！！！！

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: #include<stdio.h>   int main (void) { int n; scanf("%d",&n); int *a = (int*)malloc(sizeof(int)*n); for(i = 0;i < n;i++) {scanf("%d",&a[i]); }     int num_count[n]  = {0};     for(int i = 0; i < n; i++){         num_count[arr[i]]++;     }     for(int i = 0; i < n; i++){         if(num_count[arr[i]] > 1){             printf("%d ", arr[i]);         }     }     return 0; } 大概就是这样，你要明白楼上的良苦用心

user: user-3
content: #include<stdio.h>  int main (void) {     int arr[8]  = {1, 1, 2, 3, 4, 6, 6, 6};// 数组     int num_count[10]  = {0}; // 计数 0-9 共10个数字       for(int i = 0; i < 8; i++){         num_count[arr[i]]++;     }     for(int i = 0; i < 8; i++){         if(num_count[arr[i]] > 1){             printf("%d ", arr[i]);         }     }     return 0; }

user: user-4
content: //长度为N字节的数组 char A[] = new A[N]; int a; whlie(1)//遍历整合 { a = 0; scanf("%d",a); if(a!=0) A[a]+=1; else break; } //打印 while(N--) { if(A[N]>1) while(A[N]--) printf("%d",N); }
user-0 提问: 用指针去掉有n个元素有序数列a中重复数字并返回去重后数列长度，无法运行？？

回复:
user: user-1
content: #include <stdio.h> #include <stdlib.h> #include <string.h>  int RemoveSame(char *a,int n); int remove_same_ch(char *str, int n);  int main() {     char *a,**b;     a=(char *)malloc(10*sizeof(char));     if(a==NULL) {         printf("error");         //exit;         exit(0);     }     int len=0,n=0;     fgets(a, 10, stdin);     n=strlen(a);     //len=RemoveSame(*a,n);     //len = RemoveSame(a, n);     len = remove_same_ch(a, n);     printf("%d\n",len);     free(a);     return 0; }  int RemoveSame(char *a, int n) {     if (0 == n)     {         return 0;     }      int index = 0,i;     //for (i = 1; i < n; ++i)     for (i = 0; i < n; ++i)     {         if (a[index] != a[i])         {             a[++index] = a[i];         }     }      return index + 1; }  int remove_same_ch(char *str, int n) {     int i, j, k;     int flag = 0;       for (i = 0; i < n;) {         flag = 0;         for (j = i + 1; str[j];) {             if (str[i] == str[j]) {                 for (k = j; k < n; k++)                     str[k] = str[k+1];                 n--;                 flag = 1;             } else {                 j++;             }         }         if (!flag)             i++;     }      return strlen(str); } 供参考～  算法可能不够最优，可以找一下最优解
user-0 提问: 学生成绩管理系统 需要怎么弄

回复:
user: user-1
content: 可能还需要你自己动手修改一下，不过基本需求还是有的 链接：https://blog.csdn.net/qq_44885018/article/details/103605086

user: user-1
content: 我写过一篇差不多的博文，你可以找一下
user-0 提问: 后面两张是一题

回复:
user: user-1
content: 14题 。它是赋值而不是等于，所以if为真，输出TRUE。 指针操作，*P2才是指针指向的值。 !y为假，DO WHILE循环只执行一次。 最后一个DO在I等于6的时候，I--之后跳出循环了，所以只能加到6.
user-0 提问: c语言

回复:
user: user-1
content: #include <stdio.h> #include <stdlib.h> float multiplication(float n1,float n2) { 	float n3=n1*n2; 	return n3; } int main() {     float n1=2; 	float n2=3.5; 	printf("%.3f\n",multiplication(n1,n2));      return 0; }
user-0 提问: found error，help

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 1 楼 user-3的回复:这个del函数在哪里定义了？确定有吗？ 卧槽，忘记定义了，函数太多弄混了😭😭谢谢兄弟啦

user: user-2
content: 你把 del 的调用代码贴出来阿， 可能是调用函数时如果所用的参数类型同函数声明时的类型不符将会产生LNK2001

user: user-3
content: 这个del函数在哪里定义了？确定有吗？
user-0 提问: 如图

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 引用 1 楼 與蘤舊縐的回复:强制类型转换，malloc可不知道你想要什么类型的指针 好的谢谢！！！！！！！！

user: user-2
content: 强制类型转换，malloc可不知道你想要什么类型的指针

user: user-3
content: malloc返回的是一个空类型的指针，如果直接赋值就会产生错误，所以要强制转换一下
user-0 提问: C语言实现两个超大正整数相加，单链表

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html
user-0 提问: 有什么简单点的加密代码么？

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 历史上最简单的加密就是把26个字母的顺序变化一下。比如用a表示b，用b表示c…… 供你参考
user-0 提问: 冒泡排序交换数字域运行不了，，会直接退出程序，，不知道原因

回复:
user: user-0

user: user-0
content: 引用 1 楼 棉猴 的回复:main()函数里面： 	for (i = 0; i<n-1; i++)//--n改为n-1，因为head已经创建了一个学生了----------- 	{ 		p->next = (struct grade_list *)malloc(sizeof(struct grade_list)); 		p->next->next = nullptr;//----添加该行代码，否则最后一个学生的next不是NULL----- 		if (!p->next) 			exit(0); 		p = p->next; 	} VS2015调试结果  这样改的话修改指定项那段就会自动退出程序，而且r=5的时候也没有排序，我觉得可能主要是sort函数的问题，但是看不出来

user: user-1
content: main()函数里面： 	for (i = 0; i<n-1; i++)//--n改为n-1，因为head已经创建了一个学生了----------- 	{ 		p->next = (struct grade_list *)malloc(sizeof(struct grade_list)); 		p->next->next = nullptr;//----添加该行代码，否则最后一个学生的next不是NULL----- 		if (!p->next) 			exit(0); 		p = p->next; 	} VS2015调试结果
user-0 提问: error C2143报错，毫无头绪啊，萌新求大神指点

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 初始化数组里面逗号是中文的
user-0 提问: 交换变量值

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 那就把函数的参数改成指针

user: user-3
content: 要补充什么？C程序扩展名是C，C++有好几种扩展名

user: user-0
content: 那C++的话，再补充点什么能让它对呢

user: user-3
content: 这是C语言，不是C++，C++才有引用&，C没有的
user-0 提问: 帮忙看一下

回复:
user: user-1
content: 应该是重复计算太多，把子运算先算还好存到数组里，根据下标直接调用结果

user: user-2
content: 这公式没准能简化下，然而我的数学水平是帮不了你了 要么就以空间换时间，开个多线程吧

user: user-0
content: 引用 1 楼 與蘤舊縐的回复:这公式latex语法渲染不出来吗 求和太多次了，可能超时 请亮出你的代码 我代码就是正常的思路，五个for循环

user: user-2
content: 这公式latex语法渲染不出来吗 求和太多次了，可能超时 请亮出你的代码
user-0 提问: 希望各位前辈可以帮忙解答，非常感谢！

回复:
user: user-1
content: 具体指什么 是把一个小数存入数组，然后用指针去除后面的零还是存进一个变量，额如果存进一个变量的话，压根没有0 那就拿指针遍历数组，主要倒序遍历，碰到小数点、非零数之前的所有零都去掉
user-0 提问: 大神求帮忙

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: #include<stdio.h>  /** *判断一个数是否有重复数字 *@param n 要判断的数字 */ int is_repeat(int n){ 	int num = n; 	int arr[10] = {0}; //0-9每个数字出现的次数 	while(num){ 		arr[num%10]++; 		num /=10; 	} 	for(int i=0; i < 10; i++){ 		if(arr[i] > 1){ 			 			return 1; 		} 	} 	return 0; } int main(){ 	int count = 0; 	for(int i = 17 * 6; i < 1000; i += 17){ 		if(!is_repeat(i)){ 			count++; 			printf("%d ", i); 		} 	} 	printf("\n结果:%d个\n", count); 	return 0; }
user-0 提问: c语言救救孩子

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: #include<stdio.h> #include<stdlib.h> #include<math.h> int main(){ 	double sum=0; 	int t; 	printf("请输入上限：\n"); 	scanf("%d",&t); 	for(int n=0;n<t;n++){ 		if(n%3==0&&n%7==0){ 			sum+=n; 		} 	} 	printf("%lf\n",sqrt(sum)); 	return 0; }
user-0 提问: 大佬们 这道题是什么意思

回复:
user: user-1
content: 打印 aa bb【tab符】cc【tab符】abc（换行） 打印【tab符】【退格符（也就是会删除前一个字符）】AN(换行) '\101'是字符A对应的ascii码的8进制，'\116'是字符N对应的ascii码的8进制

user: user-2
content: '\101'和'\116'就是对应的ascii的值，去查一下就行
user-0 提问: 这个交换数字域的sort函数有啥问题，跑不起来

回复:
user: user-1
content: 我自己写了个链表排序，作为参考：  #include <stdio.h>  struct data {    int i;    struct data * next;   };  void swap_node(struct data * pre, struct data * middle, struct data * next){     middle->next = next->next;     next->next=middle;     if(pre != NULL){         pre->next = next;     } } void show_list(struct data * head){     struct data * temp = head;     while(temp){         printf("%d ", temp->i);         temp = temp->next;     } } /**  * 链表冒泡排序(升序)  */  struct data * sort(struct data * head){      struct data * result_head = head; // 头节点     struct data * target_node = result_head; // 遍历的目标节点     struct data * target_pre = NULL; //目标节点的前一个节点     struct data * temp = NULL; // 中间变量     int i = 0, j = 0;     while(target_node){         i++;         while (target_node->next){             j++;            if(target_node->i > target_node->next->i){ //目标节点比下一个节点大                 if(target_pre == NULL){ //当前目标节点是第一个节点                    result_head =  target_node->next; // 更新新的头节点                 }                 temp = target_node->next; //记录一下                 swap_node(target_pre, target_node, target_node->next); // 交换目标节点和下一个节点                 target_pre = temp; // 更新目标节点的前一个节点                 show_list(result_head); //打印                 printf("\n");                           }else{ //目标节点比下一个节点小                target_pre = target_node;                target_node = target_node->next;            }         }         if(i >=j){             break; // todo 跳出循环         }         j = 0;         // 又一轮循环 目标节点设为头节点         target_node =result_head;         target_pre = NULL;                      }     return result_head; }    int main(){     struct data a = {9, NULL};     struct data b = {8, NULL};     struct data c = {7, NULL};     struct data d = {6, NULL};     struct data e = {5, NULL};     struct data f = {4, NULL};     struct data g = {3, NULL};     a.next = &b;     b.next = &c;     c.next = &d;     d.next = &e;     e.next = &f;     f.next = &g;     show_list(&a);     printf("\n");     struct data *head = sort(&a);     return 0; }
user-0 提问: 大一计算机写程序总要花很久，怎么办？

回复:
user: user-1
content: 正常，编程就是不断找出问题，解决问题的过程。前期出现这样的情况很正常，建议楼主多花时间调试，多编写，多尝试～

user: user-2
content: 我也是，好难受，但是回头一看也学到了很多，，是个过程吧。。

user: user-3
content: 多敲多思考，没捷径

user: user-4
content: 唯熟能生巧耳  写个程序只分两部分，逻辑和实现，逻辑吗就学好数理化政史地语数英...etc，一通瞎扯淡，多看看别人的代码，多写写自己的代码，提高一下代码实现能力，要练的话也别找什么竞赛题，那种拿来练逻辑，找个小项目做做提高很快的
user-0 提问: 编写程序

回复:
user: user-1
content: 简易版，缺点：多个总分一样则只打印学号靠前的 解决：方法很多，例如先排序，再判断下一个成绩是否一样，再判断是否需要打印下一个  #include <stdio.h> typedef struct { 	char name[10]; 	unsigned int num; 	unsigned int course1; 	unsigned int course2; 	unsigned int course; }students; int main(void) { 	students stu[3]; 	int i=0; 	int max=0; 	printf("请输入三名学生的信息\n按照学号 姓名 课程1成绩 课程2成绩输入\n"); 	for(;i<3;i++) 	{ 		scanf("%u%s%u%u",&stu[i].num,stu[i].name,&stu[i].course1,&stu[i].course2); 		stu[i].course=stu[i].course1+stu[i].course2; 		printf("%u %s %u %u %u\n",stu[i].num,stu[i].name,stu[i].course1,stu[i].course2,stu[i].course); 	} 	for(i=1;i<3;i++) 	{ 		if(stu[max].course<stu[i].course) 		{ 			max=i; 		} 	} 	printf("%u %s %u %u %u\n",stu[max].num,stu[max].name,stu[max].course1,stu[max].course2,stu[max].course); }
user-0 提问: C语言使用链表、文件做系统 第一次运行，录入数据 1 2 3 4（比如)，然后用分函数查招，此时无任何问题，但第二次打开系统查招时，找不到1，但能找到2，3，4

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0

user: user-0
user-0 提问: 急~大家帮忙看一下

回复:
user: user-0
content: OK,非常感谢

user: user-1
content: 这些字母同时也是整数，它是把字母作为下标来访问数组的

user: user-0
content: 原题目是将罗马数字转换成十进制数，这是其中的一段代码

user: user-0
content: map是一个数组

user: user-1
content: map是什么？没有上下文环境吗？
user-0 提问: 图书管理系统还书无法正确运行

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html
user-0 提问: 这是怎么回事？

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: scanf参数需要字符串大小，Myatoi参数需要字符串，类型错了
user-0 提问: char s[100]; int c,i;

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 又是出题人不懂瞎扯淡 习惯就好了

user: user-2
content: c是int %c c 是错的

user: user-3
content: 你还没入门，兄弟 ASCII对应的字符也有0-9，称之为数字字符，对应的ASCII码值为48–57

user: user-4
content: 1就是字符'1'，不知道你什么意思，你要是用%d输出，就是49（16进制的31）

user: user-4
content: 1就是字符'1'，不知道你什么意思，你要是用%d输出，就是49（16进制的31）
user-0 提问: c语言

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-0
content: 对，这个确实有问题我刚才才发现，但是其实是因为前面呢个高数少了一个}影响到这里了，谢谢你们了

user: user-2
content: 前面23行就开始错了，影响到这里了吧，先去前面看看

user: user-3
content: 是吗？

user: user-0
content: 没问题啊

user: user-3
content: 仔细看一下代码 是if , else if的括号问题
user-0 提问: 求代码简单点谢谢

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: #include<stdio.h> int nn(int *a,int b); #define N 30   //改变这里的值，就可以更改 要计算的人数 。  int main(void)  { 	int i,n,a[N],sum = 0; 	for(i = 0;i < N;i++) 	{ 		scanf("%d",&a[i]); 		sum = sum + a[i]; 	} 	nn(a,sum); 	return 0; } int nn(int *a1,int b) { 	int i,d1,d,f = 1,g = 1,k,n; 	for(i = 0;i <N;i++) 	{ 		for(d = 0;d < N - 1 - i;d++) 		{ 			if(a1[d] >a1[d + 1]) 			{ 				d1 = a1[d]; 				a1[d] = a1[d + 1]; 				a1[d + 1] = d1; 			} 		} 	} 	for(i = 0;i < N;i++) 	{ 		if(a1[i] == a1[i + 1]) 		{ 			f = f + 1; 		} 		else 		{ 			break; 		} 	} 	for(i = N - 1;i >= 0;i--) 	{ 		if(a1[i] == a1[i - 1]) 		{ 			g = g + 1; 		} 		else 		{ 			break; 		} 	} 	printf("%.2f\n%d\n%d\n%d\n%d\n",b * 1.00 / N,a1[N - 1],g,a1[0],f); }

user: user-2
content: 记 得 点 赞
user-0 提问: C语言简单题

回复:
user: user-1
content: 什么鬼，代码不全，前面输出的刚才说了，后面是不是循环结束又输出了一次，那个时候y＝-1，％c输出的是字符，ASCII码表没有第-1个字符，当然是空白，%d输出的是整型，就是-1，换书换书

user: user-0
content: 引用 1 楼 與蘤舊縐的回复:||前面的错误，依旧判断后面的，a++=0，为false，继续判断后面的b++=7，为true，继续判断后面的c++=3 a=1，b=8，c=4  void main这书多少年没改版了  注意输出的是%c，也就是ASCII码表的第9/8/7...0个字符 第七题懂了，第八题答案是-1，我敲了这个代码运行了一下，结果是空白，把%c改成%d结果就是-1了，求解

user: user-1
content: ||前面的错误，依旧判断后面的，a++=0，为false，继续判断后面的b++=7，为true，继续判断后面的c++=3 a=1，b=8，c=4  void main这书多少年没改版了  注意输出的是%c，也就是ASCII码表的第9/8/7...0个字符

user: user-0
content: 引用 3 楼 與蘤舊縐的回复:什么鬼，代码不全，前面输出的刚才说了，后面是不是循环结束又输出了一次，那个时候y＝-1，％c输出的是字符，ASCII码表没有第-1个字符，当然是空白，%d输出的是整型，就是-1，换书换书 哦哦，谢谢
user-0 提问: 大神帮帮弟弟吧

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: int main() {     int i,j=0,n,a,b,c;     for(i = 100;i < 1000;i++)     {         if(0 == i%17)         {             n=i;             a=n%10;             n=n/10;             b=n%10;             c=n/10;             if(a!=b&&b!=c&&a!=c)                 j++;         }     }     printf("%d",j);     return 0; }
user-0 提问: 大佬们帮我康康哪里错了吧，谢谢啦

回复:
user: user-1
content: 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助：https://blog.csdn.net/it_xiangqiang/category_10768339.html

user: user-2
content: 输入那个j吗？那个取地址符&被你漏了

user: user-0
content: 引用 1 楼 user-2的回复:自己都不知道哪里错了，还要别人帮你看。比方编译错了，什么错误提示；运行结果不对，那么输入什么输出什么。这样提问是不是更好一点？给出更多的信息减少来回沟通的次数，可以提高效率 感谢!大佬佬佬佬佬佬佬佬，

user: user-0
content: 编译运行无问题，就是那个逐行输入数字不会

user: user-2
content: 自己都不知道哪里错了，还要别人帮你看。比方编译错了，什么错误提示；运行结果不对，那么输入什么输出什么。这样提问是不是更好一点？给出更多的信息减少来回沟通的次数，可以提高效率