c语言作业请大佬指教

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
C语言的作业,求大佬指教一下

#include //控制台操作头文件int main() //主函数{int a[11],n=6,i; //a是数组,n是学号,i是循环变量 for(i=0;i<11;i++) a[i]=i+1; //给数组赋初值 int *p=&a[n]; //让p指向a[n] printf("*p=%d,p=%d
",*p,p); //输出*p和p printf("*(p+1)=%d,p+1=%d
",*(p+1),(p+1));//输出*(p+1)和(p+1) p++; //执行p++ printf("执行p++之后:
"); //显示执行p++的提示信息 printf("*p=%d,p=%d
",*p,p); //输出*p和p printf("*(p-1)=%d,p-1=%d
",*(p-1),(p-1));//输出*(p-1)和(p-1) printf("n"); //换行 system("PAUSE"); //暂停,以看清运行结果 return 0;} //程序结束
答案你按照运行结果的抄就行了。至于为什么?因为*p是a[n]里面的内容,而p是a[n]的地址。
第二个,因为*(p+1)是a[n+1]的内容,而p+1是a[n+1]的地址。
第三个,执行了p++之后,地址向后移动一个,这时的p指向a[n+1],所以结果和刚才的第二个相同。
第四个,因为此时的p指向a[n+1],所以*(p-1)是a[n]的内容,而(p-1)是a[n]的地址,所以和第一个输出一样。


#include#include#includeint main(){int i,zm=0,kg=0,bd=0,qt=0; char s[400]; gets(s); for(i=0;s[i];i++) if(isalpha(s[i]))zm++; else if((strrchr(",.?;:'\"",s[i])!=NULL))bd++; else if(s[i]==' ')kg++; else qt++; printf("英文字母=%d
空格=%d
标点符号=%d
其他符号=%d
",zm,kg,bd,qt); return 0;}

#include<stdio.h>
int main()
{int n,i,s=0;
scanf("%d",&n); 
for(i=1;i<=n;i++)
  if(i%7==0||i%10==7){s++; printf("%4c",'*');}
    else printf("%4d",i);
printf("
%d
",s);
return 0;
}


  • c语言作业,急!!谢谢各位大佬!
    答:include<stdio.h>#include<ctype.h>int main(){int i,dx,xx,sz,qt; char s[200]; gets(s); dx=xx=sz=qt=0; for(i=0;s[i];i++) if(isupper(s[i]))dx++; else if(islower(s[i]))xx++; else if(isdigit(s[i]))sz++; else qt++; printf("字符串包含:")...
  • C语言作业求大佬?
    答:代码文本:include "stdio.h"include <string.h> int main(int argc,char *argv[]){ char s[10][100]={""},t[100],i,j,k,n;printf("Enter n(int 1<n<11)...\n");if(scanf("%d",&n)!=1 || n<2 || n>10){ printf("Input error, exit...\n");return 0;} printf(...
  • c语言作业求大佬指教
    答:include<stdio.h>#include<ctype.h>#include<string.h>int main(){int i,zm=0,kg=0,bd=0,qt=0; char s[400]; gets(s); for(i=0;s[i];i++) if(isalpha(s[i]))zm++; else if((strrchr(",.?;:'\"",s[i])!=NULL))bd++; else if(s[i]==' ')kg++; else...
  • c语言数据结构作业求大佬帮忙
    答:include <stdio.h> include <malloc.h> boolean createArray(int *&array, int n){ array = (int*)malloc(n * sizeof(int));return array != NULL;} boolean inputArray(int array[], int n){ for (int i = 0; i < n; i++) if (scanf("%d", array + i) != 1) return ...
  • c语言选择题请大佬指示
    答:A选项:11/3两边都是整数,就是取商的整数部分,所以这个值运算出来应该是3 B选项:11.0/3一个是小数一个是整数,这个应该是直接做除法,输出的数应该是3.XXXXXX这样的小数 C选项:(float)11,这个就是把11这个整数强制转换成一个小数,所以B选项和C选项运算结果是一样的 D选项:本来11.0/3+0...
  • C语言程序分析题 大佬救救我?
    答:答案:这2段程序不相等。第一段程序的输出结果:1 1 1、2 2 2、3 3 3、4 4 4;第二段程序的输出结果:1 1 1。分析:第一段程序使用for循环,每一次循环时,都对变量进行了初始赋值,即i=1,j=1,k=1。就是说,嵌套的内循环变量,如j,k都是从1开始的。而第二段程序使用while循环,...
  • 大一C语言作业,求大佬们帮助!
    答:int gcd1(int num1, int num2){inr r;for(;r=num1%num2;num1=num2,num2=r);return num2;}
  • c语言题目,求大佬赐教
    答:include <stdio.h> include <stdlib.h> int main(){ char grade1;int ifB;printf("请输入等级:");scanf("%c",&grade1);switch(grade1){ case 'A':case 'a': //如果是小写 printf("10万");break;case 'B':case 'b':printf("请再次输入等级:");scanf("%d",&ifB);switch(ifB...
  • C语言编程题,求助大佬解答
    答:include <iostream> using namespace std;struct Node { int elem;Node* next;};struct List { Node* head = NULL;};//查找前驱节点 Node* find_pre(List list, int elem){ if (!list.head) return NULL;Node* node = list.head;while (node->next && node->next->elem < elem) node...
  • 大学C语言作业,请大佬帮忙解答:6*6 二维数组如图 1,请编程输出其左下...
    答:main(){ int i,j;for (i=0;i<6;i++){ for(j=0;j<=i ;j++)printf ("%4d",i*6+j+1);printf ("\n");} } 有不明白的地方请留言。