c语言编写1加到100 我想学c语言编程,可里面涉及到了函数,我对函数一点都不懂,对于函数该从哪学起,请大哥、大姐指点小弟
我想学c语言编程,可里面涉及到了函数,我对函数一点都不懂,对于函数该从哪学起,请大哥、大姐指点小弟
我想学c语言编程,可里面涉及到了函数,我对函数一点都不懂,对于函数该从哪学起,请大哥、大姐指点小弟
如果你只有初中文化我建议不要学C,用处不大还浪费时间,不如学软件的应用。
如果有高中以上学历,可以从基础学起,谭浩强的《C程序设计》不错,初学多读程序是关键,开始就用这一本书就Ok,其他的书都别看,浪费时间还干扰你学习的性趣,另外有以下几点个人的建议:
1、把英语捡一捡,如果你英语相当棒,一点不学去看代码也能看个大概。
2、多读程序,找编译平台如VisualC++6.0等在上面把看到的程序抄一遍去运行,明白了就动脑稍做改动再运行看看有什么不同。
3、还是大量的读别人设计好的习题代码,其实每个习题的答案都不是唯一的,因为算法不同,在别人设计好的基础上自己来做自己的代码。
4、每天不要花费太多的时间用在这上面。2-3小时足够了,学的太多太累反而影响你对程序的理解。
5、切忌心浮气躁,这是非常重要的,开始碰到了不明白的地方千万不要死扣,没用,把它记下来,往后学,到了一定程度就会明白前面的问题了!这是绝对的,只要能坚持下来,安下心来学习!
C语言编程 函数
你要的是
编写自定义函数统计一个长度为10的整数数组中正数、负数和零的个数吧?
?
int *num为你要统计的整数数组。
int n 为数组长度,你的例题是10,这函数可用于任意int长度数组
int *result 为保存统计结果的数组,你的例可定义成这样int result[3]
因为你只要统计三种情况,更多种的话你只要改动3就行
void tj(int *num,int n,int *result){
int i;
for(i=0;i<n;i++){
if(num[i]>0)
result[0]++;保存正数个数
else if(num[i]<0)
result[2]++;保存负数个数
else
result[1]++;保存0的个数
}
例:
#define N 10
#include <stdio.h>
void tj(int *num,int n,int *result){
int i;
for(i=0;i<n;i++){
if(num[i]>0)
result[0]++;
else if(num[i]<0)
result[2]++;
else
result[1]++;
}
}
main(){
int yournum[N]={2,5,0,-12,23,-24,0,45,-18,33};
int myresult[3]={0};
tj(yournum,N,myresult);
printf("n>0: %d",myresult[0]);
printf("n=0: %d",myresult[1]);
printf("n<0: %d",myresult[2]);
getchar();
}
C语言编程 mystrcat函数
char *mystrcat(char *str1, char *str2){ char *p; for(p=str1;*p!='';p++); for(;*str2!='';p++,str2++) *p=*str2; *p=''; return str1;}C语言编程。函数Delete()
void delete_student(student *L,long studentnum)
{
int flag = 0;
student * p = L,*q = p->next;
while(q)
{
if(q->number == studentnum)
{
flag = 1;
q = q->next;
break;
}
else
{
p = q;
q = q->next;
}
}
if(flag == 0)
printf("删除学生失败,不存在这个学号的学生n");
else{
printf("删除学生成功! n ");
}
}
C语言编程 指针函数
这属于C语言指针基础。每个变量在定义的时候,就会给他分配内存,例如:“int a;”,此时会给变量“a”分配4字节的内存空间。当程序需要使用这个变量时,需要通过这个变量地址,在内存里找到这个变量值。而这个变量的地址表示为:&a(“&”为取址符,意为取变量a的地址)。
回到你的问题,*p的意思是参数p不是一般的变量,而是一个指针变量,即:p这个变量的值是一个地址,而不是一个普通的值。既然p的值是一个地址,那么这个地址所指向的实际变量值就是*p。
函数fun(*p),参数的意思是,你调用的时候要传一个地址进来,而不要传一个地址指向的值。根据以上说明可知,这里应该传变量“s”(数组名s就代表这组数的首地址,这个不知道就从最基础的数据开始学习吧),而不传“&s”(取s数组首地址的地址,这个需要配合二重指针使用)或“*s”(s数组首地址所指向的值,即:s[0]的值)。
C语言编程:数组,指针,函数
#include <stdio.h>#include <stdlib.h>int Fun(int *arr, int n, int *pos, int *neg, int *zero);void main(){ int *arr, n, pos, neg, zero, i; printf("请输入数组的个数:n"); scanf("%d", &n); arr = malloc(n*sizeof(int)); if(arr == NULL) { exit(1); } printf("请输入%d个数组元素:n", n); for(i=0; i<n; i++) { scanf("%d", arr+i); } if(Fun(arr, n, &pos, &neg, &zero) != 0) { exit(1); } printf("数组中正数的个数为%d,负数的个数为%d,零个个数为%dn", pos, neg, zero);}int Fun(int *arr, int n, int *pos, int *neg, int *zero){ int i; if(arr==NULL || n<=0 || pos==NULL || neg==NULL || zero==NULL) { return -1; } *pos = 0; *neg = 0; *zero = 0; for(i=0; i<n; i++) { if(arr[i] > 0) { (*pos)++; } else if(arr[i] < 0) { (*neg)++; } else { (*zero)++; } } return 0;}C语言编程中的函数是哪些函数
C的函数可以分为库函数和用户自定义函数。
库函数是系统提供给用户直接调用的函数
用户自定义函数式自己编写的函数。
一道C语言编程,关于函数
#include<stdio.h>
void f(int *a,int n)
{
int i,j,k,temp;
先对数组冒泡排序
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
把数组a的内容移到数组b中
int b[100];
for(i=0;i<n;i++) b[i] = a[i];
按照要求把书从b移到a中
for(i=0,j=0,k=n-1;i<n;i++)
{
if(i%2) a[i] = b[k--];
else a[i] = b[j++];
}
}
void main()
{
int x[100];
printf("请输入你要排序的整数的个数(小于100)n");
int num;
scanf("%d",&num);
printf("请输入%d个整数:",num);
for(int i=0;i<num;i++) scanf("%d",&x[i]);
f(x,num);
for(i=0;i<num;i++) printf("%d ",x[i]);
printf("n");
}

c语言编程,函数设计
# include <stdio.h>int sumA2B(int a, int b){ int i, sum = 0; if (a > b){ i = a, a = b, b = i; } for (i = a; i <= b; ++i){ if (i % 2 == 0)sum += i; } return sum;}int main (){ int ans = sumA2B(1000, 2000); printf ("sum=%dn", ans); return 0;}C语言编程 函数问题
我想说楼主太粗心了,另外调试程序时也应该多点耐心。
改好的程序如下:
#include<stdio.h>
float score[3][2];
int i,j;
float pj(int i)
{float ping;
ping=(score[i][0]+score[i][1])/2; 这个只有两门课
return(ping);}
float aver(int j)
{float y=0,x;
for(i=0;i<3;i++) 这儿应该是小于3
y=y+score[i][j];
x=y/3;
return (x) ;
}
float highest(int student,int subject)
{
float largest=0;
for(i=0;i<2;++i)
for(j=0;j<3;++j)
{ if(largest<score[i][j])
{
largest=score[i][j];
student=i;
subject=j;
}
}
return(largest);
}
void main()
{
float pj(int i); 函数应该是pj
float avere(int j);
float highest(int student,int subject);
float largest=0;
int student=1,subject=1;
printf("请输入3个学生的成绩,按照每门课顺序依次输入:n");
for(i=0;i<3;i++)
{ printf("第%d个学生",i+1);
for(j=0;j<2;j++)
{ printf("第%d门课的成绩:n",j+1);
scanf("%f",&score[i][j]);
}
}
for(i=0;i<3;++i)
printf("第%d个学生的平均分为:%.2fn",i+1,pj(i));
for(j=0;j<2;++j)
printf("第%d门课的平均分为:%.2fn",j+1,aver(j));
largest=highest(student,subject);
printf("6个分数中最高的分数是第%d个学生的第%d门课,分数为:%.2fn",student+1,subject+1,largest);
}