C语言编程问题。求大神指点

作者&投稿:朝拜 (若有异议请与网页底部的电邮联系)
求大神指导,C语言编程问题~

研究了一下,参考了筛选法,效率还不错。有注释,不明白的地方可以追问#include #include int Eratosthenes(int n, int m){ //定义一个数组,其下标表示人的编号(忽略0号元素) int *out = (int*)malloc((n + 1)*sizeof(int)); //初始化,out[i]表示编号为i的人是否出局(1表示出局) for (int i = 0; i <= n; ++i) out[i] = 0; int j = 0, count = 0, sum = 1; //循环结束的条件是:只剩下1个人时,sum的值为n while (sum < n) { //j表示人的编号,在1到n之间 j = j % n + 1; //遇到一个未出局的人,计数器加1 if (out[j] == 0) ++count; //count增加到m,则出局一人,并重新计数 if (count == m) { out[j] = 1; sum += 1; count = 0; } } //找到剩下的那个人的编号 while (out[j] == 1) j = j % n + 1; //释放内存 free(out); //返回最后一个人的编号 return j;}int main(){ //输出4 printf("%d
", Eratosthenes(10, 3)); return 0;}//最后说一下,程序花了我近半个小时,纯手打,望采纳

struct student{ int iNum; // 学号 char cName[20]; // 姓名 char cSex[2]; // 性别 int iAge; // 年龄 int iScore[5]; // 5门课成绩 float fAverage; // 个人平均分};// 求个人平均分float ClacAverage(student *pStudent){ if (NULL == pStudent) { return 0.0f; } int iSum = 0; for (int i = 0; i iScore[i]; } pStudent->fAverage = iSum / 5.0; printf("学生 %s 的个人平均分为:%.2f
", pStudent->cName, pStudent->fAverage); return pStudent->fAverage;}// 求每门课程的平均分void CalcAverageEachCourse(student Students[], int iCount){ for (int i = 0; i iNum); printf("请输入第 %d 位学生的姓名:
", iNum + 1); scanf("%s", pStudent->cName); printf("请输入第 %d 位学生的性别:
", iNum + 1); scanf("%s", pStudent->cSex); for (int i = 0; i iScore[i]); }}int _tmain(int argc, _TCHAR* argv[]){ /*test(); */ student Students[10]; for (int i = 0; i < 10; i++) { GetInput(&Students[i], i); } printf("以下是每个学生的个人平均分:
"); for (int i = 0; i < 10; i++) { ClacAverage(&Students[i]); } printf("以下是每门课程的平均分:
"); CalcAverageEachCourse(Students, 10); system("pause"); return 0;}

s需要赋初值, for的循环语句少了 }, 每一项的正负号是交替变化的,用变量sign交替改变正负号

//计算1-1/4+1/7-1/10+1/13-1/16+... 的前n项之和
#include<stdio.h>
void main()
{
int i, j, n;
float s=0,sign=1;
printf("n=");
scanf("%d", &n);
for(i=1; i<=n; i++)
{
j=3*i-2;
s=s+sign/j;
sign=sign*(-1);
}
printf("s=%f", s);
}

if(i%2 == 0)
{
s = s - 1.0/j;
}
else
{
s = s+1.0/j;
}

printf 前加 }
另外 s在循环前赋初值0;

printf语句上一行少了一个}

数学式子没看懂

s没有初值

return 0;


c语言编程实现,从键盘上输入8个数,求出最大值和最小值用指针传递数组...
按照问题要求,代码如下:include <stdio.h> \/\/ Function to find the maximum and minimum values in an array void findMaxMin(int *arr, int size, int *max, int *min) { \/\/ Initializing max and min with the first element of the array max = *min = arr[0];\/\/ Loop through ...

C语言编程:输入10个数,求最大值,以负1结束
根据题目,循环输入数值,当遇到-1或达到10个时结束。对每个数判断,并得到最大值。最终输出最大值即可。参考代码如下:include <stdio.h>int main(){ int i, n, max; scanf("%d",&max);\/\/输入第一个数,作为最大值。 for(i = 1; i < 10; i ++)\/\/输入剩余9个数。 {...

如何在C语言编程中求取三个数中的最大值
1、首先输入三个数,求三个数中的最大值 include<stdio.h> int main(){ int max(int x,int y,int z); int a,b,c,m; scanf("%d,%d,%d",&a,&b,&c); m=max(a,b,c); printf("the max number is %d\\n",m); return 0;} 2、然后输入 int max(int x,...

C语言编程问题:编写程序求最大值、最小值及平均值。
include<stdio.h>double Max(double*p,int n){ double max=*p; for(int i=0;i<n;i++) if(*(p+i)>max) max=*(p+i); return max;}double Min(double *p,int n){ double min=*p; for(int i=0;i<n;i++) if(*(p+i)<min) min=*(p+i); ...

. c语言编程:输入一个正整数,统计该数的各位数字中零的个数,并求各位...
include <stdio.h> int main(){ int n,t,count=0,max=0;printf("请输入正整数n: ");scanf("%d",&n);while(n){ t=n%10;if(t==0)count++;else if(t>max)max=t;n=n\/10;} printf("count=%d,max=%d\\n",count,max);return 0;} count:0的个数。max:各位数字中的最大者 ...

c语言编程 输入5个数 求出最大值和最小值
include<math.h> int max(int x,int y){ if(x>y)return x;else return y;} int min(int x,int y){ if(x<y)return x;else return y;} int main(){ int x,y,a,b,c,d,e,f,g,h,i,t,o,p,l;printf("输入任意五个整数:\\n");scanf("%d%d%d",&a,&b,&c,&d,&e);f...

C语言编程,求大佬
void main() { char s[20]; int n, x;while ( 1 ) { scanf("%s", s); if (s[0]<'0' || s[0]>'9') break;if (s[0] == '0')if (s[1] == 'x') n = 16; else n = 8;else n = 10;if (n == 10) sscanf(s, "%d", &x);else if (n == 8) sscanf...

c语言编程,求abc三个数的最大值
1、首先是鼠标选择单击C语言编程软件创建一个空的C语言文件。2、定义四个整数变量a,b,c,max。三个变量a,b和c用于存储输入的三个数字,max用于存储三个数字的最大值。3、使用scanf语句从键盘输入三个数字。在注意之前不要忘记使用变量。4、使用max可以逐个比较三个数字,并将最大数量存储在最大...

C语言编程:求100之内的自然数中最大的被13整除的数。
\/\/从100开始一一除以13,如果能除尽,输出这个数。include<stdio.h> void main(){ int i;for(i=100;i>=0;i--){ if(i%13==0) {printf("%d\\n",i);break;} } printf("\\n");}

【c语言编程题】构造函数运用更相减损术求最大公约数
1.第20行中直接书写这个语句,只打印gcd函数中的输出部分,虽然也能得到返回值,但不会打印返回值。并不是不能得到返回值。2.printf("%d",gcd(x,y)运行过程:先运行函数gcd(),当然运行过程中,函数内包含的打印语句照样全部打印;最后再输出gcd函数得到的返回值。并不是只打印返回值。3.如果不...

大方县13060119786: 关于C语言编程的几个题,求大神指导!!!(1)问题描述给定n和len,输出n!末尾len位.输入格式一行两个正整数n和len.输出格式一行一个字符... -
魏菊通络:[答案] 1.//#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h"void main(void){ int n,len,i; __int64 sum,k; printf("Type n & len()...\n"); scanf("%d%d",&n,&len); for(sum=i=1;i

大方县13060119786: 几个C语言问题,求高手指点,望有详细过程. -
魏菊通络: 第一题:321 printf参数入栈顺序从右至左,所以要先从右开始计算机参数的值.*p++意思是先取p的值即(*p),然后给p这个地址加1.先取的值是1,即s[0],然后p加1就指向了s[1],再取值就成了s[1]的值了,依此类推.第二题:27.000000"/...

大方县13060119786: 一道c语言编程题,求大神指教! -
魏菊通络: #include <stdio.h> void printdigits( int n ); int main() { int n; scanf("%d", &n); printdigits(n); return 0; } void printdigits( int n ) { if(n) { printdigits(n/10); printf("%d\n",n%10); } }

大方县13060119786: 求大神帮忙指点一下C语言编程作业吧~!!1.设计求完全平方数的函数,其功能是:在3位整数(100—999)中寻找既是完全平方数(某个数的平方),又... -
魏菊通络:[答案] 1 #include #include int find_complete(int b[]) { int i; int cnt=0; int j=10; for(i=100;i { int single = i%100%10; int ten = i%100/10; int hundred = i/100; if(single == ten || ten == hundred || single == hundred) { for(j=10;j { if(j*j == i) { b[cnt++] = i; } } } } return cnt; } ...

大方县13060119786: c语言编程题求大神帮忙! -
魏菊通络: #include<stdio.h> int main(void) { char string[1000]; char newStr[1000]; int i,k=0,j; gets(string); for (i = 0; string[i]; i++) { if ((string[i] <= 'z'&&string[i] >= 'a') || (string[i] <= 'Z'&&string[i] >= 'A')) { newStr[k++] = string[i]; } } newStr[k] = '\0'; i = 0, j = k - 1; ...

大方县13060119786: c语言问题,不太理解,求高手指点,例子如下: -
魏菊通络: 这个是短路原理,&&两边任何一个为假则总式的结果为假,计算机计算这个式子时分了三步,1.运算符--为并的关系;2.运算符前一个为假;到此已经判断出最后结果为假,故第...

大方县13060119786: c语言编程题求大神 -
魏菊通络: #include void Strim(char *str) { int len,i,j; len=strlen(str); i=len-1; //指向尾元素下标 //先去掉结尾的空格 while(str[i] == ' ') { i--; len--; } str[len]='\0'; //再去掉开头的空格 i=0; while(str[i]!='\0'){ if(str[i] ==' '){ for(j=i+1;str[j]!='\0';j++) //将后面的字符串全部左...

大方县13060119786: c语言编程题 求大神 -
魏菊通络: #include int main(void) { int a[6][6],b[6][6],i,j,m,n; printf("input m,n:"); scanf("%d%d",&m,&n); printf("input array:\n"); for(i = 0;i < m;i++) for(j = 0;j < n;j++) scanf("%d",&a[i][j]); for(i = 0;i < m;i++) for(j = 0;j < n - 1;j++) b[i][j + 1] = a[i][j]; for(i = 0;i < ...

大方县13060119786: 求C语言高手指点!
魏菊通络: 第一个是考验你的循环输入的题目,只要设置for循环,在for循环里面写输入语句就可以了.第二个你把c中的字符逐个去除和s中的对比,有的删除.第三个和第二个大体一样,只是多了个输出到文件的操作第四个就是定义四个int变量,分别作为要求要统计的总和.都是基本的题目,稍微想想就能做出来了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网