黑客24小时在线接单网站

联系黑客,怎么找黑客,24小时在线黑客,黑客在线QQ,找黑客

c语言基础编程100道(c语言必背100个典型编程)

本文目录一览:

求解一道C语言基础编程题。

首先看一下程序的逻辑(虽然貌似题主应该不是在这一块有问题:

关于ascii码的解释:

首先得知道每个字符和数值的对应关系(图不清晰可看戳这里:ascii编码对应表

好了,现在看程序中的第一个if语句,在用大于、小于这些运算比较符比较char的时候,会自动转换为整数比较,也就是说‘0’会转换成48,‘1’转换成49……以此类推,最后是‘9’转换成57,你会发现把这些char减去48就会得到它们各自相对应的整数数值,这就是第一个if里面减去48的目的。同理,接下来的else-if语句,‘A’到‘F’也会转换成整数数值,具体对应的数值可以参看ascii表,一样的道理减去‘A’然后加10的目的也是转换成数值,因为在大于10的进制下,A代表10,B代表11……以此类推,因为这个程序最高就16进制了,所以判断到F就可以了。

然后我们来看进制的解释:

所谓进制,其实就是组合数字的方式,理解了这一点就很好说了。比如说10进制,为什么198等于198(好像很傻一问题)?其实是因为在十进制下,198 (10) = 1 * 10^2 + 9 * 10^1 + 8 * 10^0 = 198(好像是这么回事,(。ì _ í。)),同一个数字,放在不同的位置,它所代表的分量也不一样,即组合数字的方式会影响数字的值,1后面还有2个数字,所以这个1实际上是1 * 10^2 = 100,而不是1,其它位置的数字同理,然后把这些值加起来,就得到了整个数字所代表的最终的值,因此我们才有了 198 = 198(好像很有道理)。

但是,198也可能不等于198,什么时候不等于呢?在不同的进制下。比如说假如我们的这个198是在16进制下的198,那么 198 (16) = 1 * 16^2 + 9 * 16^1 + 8 * 16^0 = 408 (10) = 408。

为什么会产生这种差别呢?因为16进制下的那个1代表的分量是1 * 16^2了,而不是1 * 10^2了,同理,在其它进制下只需要把乘的数字换成对应的进制的数就好了,比如在9进制下那个1就是1 * 9^2等等。

这样一来上面程序里面的for语句就好理解了,之所以用for是因为要算出次方(这个应该不用解释),一个数要乘的次方是它后面跟着的数字的个数,所以是“j = 0; j len - 1”。

然后把这些值加起来,就得到这个数字对应的十进制下的数值,也就完成了最终的转换。

题主可以随便写些不同进制下的数字,然后自己算出十进制下对应的数值,和网站上得出的结果比较比较,这样也可以加深对进制的理解,同时提高计算能力。

戳这里:在线进制转换

这里给出了一个链接,这种网页到处都是,随便搜一下就可以找到。

C语言编程题,考试急用,请高手帮忙啊!!!!

1.

#includestdio.h

long fun(long int x)

{

long ret=0;

while(x){

if(x%10%2){

ret= ret*10+ x%10;

}

x=x/10;

}

return ret;

}

void main()

{

long a,b;

printf("Please input a long int num:");

scanf("%ld",a);

b=fun(a);

printf("b=%ld\n",b);

}

2.

#includemath.h

void fun(char *s,char *t,char *p)

{

int i=0,j=0,k=0;

for(i=0;i50;i++){

p[i]=0;

}

i=0;

while(t[i]){

j=0;

while(s[j]){

if(t[i]!=s[j]){

j++;

}else break;

}

k=0;

while(p[k]){

if(t[i]!=p[k]){

k++;

}else break;

}

if(s[j]==0 p[k]==0){

p[k]=t[i];

}

i++;

}

}

void main()

{

char s1[50],s2[50],s3[50];

gets(s1);gets(s2);

fun(s1,s2,s3);

puts(s3);

}

3.

int fun(int m)

{

int sum=0,a=0,i;

if(m==1) return 1;

for(i=1;;i++){

a=a+i;

sum =sum+a;

if(summ)

return i-1;

}

}

void main()

{int x;

scanf("%d",x);

printf("n=%d\n",fun(x));

}

4.

#define N 10

void fun(int *x,int n)

{

int i,min_n,min;

min=x[0];

min_n=0;

for(i=1;in;i++){

if(x[i]min){

min=x[i];

min_n=i;

}

}

i=x[0];

x[0]=x[min_n];

x[min_n]=i;

min=x[1];

min_n=1;

for(i=2;in;i++){

if(x[i]min){

min=x[i];

min_n=i;

}

}

i=x[1];

x[1]=x[min_n];

x[min_n]=i;

}

main()

{int a[N],i;

for(i=0;iN;i++)

scanf("%d",a+i);

fun(a,N);

for(i=0;iN;i++)

printf("%d ",a[i]);

printf("\n");

}

5.

#include math.h

long fun(int high,int n)

{

int sum=0,count=0,k,i;

for(high--;high=2;high--){

k=0;

for(i=2;i=sqrt(high+1);i++){

if(high%i==0){

k=1;

break;

}

}

if(k==0){

count++;

sum += high;

}

if(count==n) break;

}

return sum;

}

void main()

{int k,n;

scanf("%d%d",k,n);

printf("sum=%ld\n",fun(k,n));

}

6.

int fun(int *a,int n)

{

int i,j;

for(i=j=0,j;in;i++){

if(!(a[i]%2)){

a[j]=a[i];

j++;

}

}

a[j]=-1;

return j;

}

void main()

{int x[15],i,n;

for(i=0;i15;i++)

scanf("%d",x+i);

n=fun(x,15);

for(i=0;x[i]!=-1;i++)

printf("%d ",x[i]);

printf("n=%d\n",n);

}

简单C语言编程

1。#include iostream

using namespace std;

int main()

{

int i;

for(i=0;i=100;i++)

{

if(i%4==0i%9==0)

coutiendl;

}

return 0;

}

2。

#include iostream

using namespace std;

int main()

{int a,b,c,d;

cinabc;

d=c;

c=b;

b=a;

a=d;

coutaendlbendlcendl;

return 0;

}

3。#include fstream

#include iostream

using namespace std;

int main()

{

char a[90];

ofstream outfile("your_file.txt",ios::out);

cin.getline(a,90);

outfilea;

return 0;

}

4。

#include iostream

using namespace std;

int main()

{

char c[80];

cin.getline(c,80);

int i=0,j=0;

while(c[i]!='\0')

{

if(c[i]=65c[i]=90)

i++;

j++;

}

coutjendl;

return 0;

}

5。

#include iostream

using namespace std;

struct student

{

char name[50];

int score;

};

int main()

{

student a[5];

int i;

for(i=0;i=4;i++)

{

cina[i].namea[i].score;

}

FILE *fp;

fp=fopen("data1.txt","w");

for(i=0;i=4;i++)

{

fprintf(fp,"%s\n",a[i].name);

fprintf(fp,"%d\n",a[i].score);

}

fclose(fp);

return 0;

}

求C语言编程实例100行以上,要有文字大概解释一下

#include stdio.h

main(int a,char **date)

{

int year=0,month=0,day=0,week;

int d,i,dm,dy,m2;

char WEEK[9];

if (a==1)

{

printf ("\n ERROR! you forgot to enter the date you want to view\n");

exit (0);

}

i=0; d=-1;

while (date[1][i])/*遍历传入的参数日期,计算出year,month,day*/

{

if ((date[1][i]=='/'||date[1][i]=='.')d==-1) { d=0; i++; continue; }

if ((date[1][i]=='/'||date[1][i]=='.')d==0) { d=1; i++; continue; }

if (d==-1) year=year*10+(date[1][i]-'0');

if (d==0) month=month*10+(date[1][i]-'0');

if (d==1) day=day*10+(date[1][i]-'0');

i++;

}

if (month1||month12)/*若月份传入错误数字*/

{

printf ("\n ERROR! the entered MONTH is invalid\n");

exit (0);

}

if (year==2000)

{

dy=0; /*年引起的星期差为0个*/

m2=1; /*2月引起的星期差为1个*/

goto la_100;

}

if (year2000)

d=(year-1-2000)/4-(year-1-2000)/100+(year-1-2000)/400+1;

else

d=(year-2000)/4-(year-2000)/100+(year-2000)/400;

dy=(year-2000)+d; /*** 该年 1月1号 到2000年1月1号的 " 星期差 " ***/

if((year%4==0year%100!=0)||(year%100==0year%400==0))

m2=1;

else

m2=0; /*** 该年是否润 ***/

la_100: /**** la_100 ****/

/*** 该月以前的月所引起的 " 星期差 " ***/

switch (month)

{

case 1: dm=0; month=31; break; /*** month 在此存放该月天数 ***/

case 2: dm=3; month=d==1? 29:28; break;

case 3: dm=3+m2; month=31; break;

case 4: dm=6+m2; month=30; break;

case 5: dm=1+m2; month=31; break;

case 6: dm=4+m2; month=30; break;

case 7: dm=6+m2; month=31; break;

case 8: dm=2+m2; month=31; break;

case 9: dm=5+m2; month=30; break;

case 10: dm=m2; month=31; break;

case 11: dm=3+m2; month=30; break;

case 12: dm=5+m2; month=31; break;

}

if (day0||daymonth)

{

printf ("\n ERROR! the entered DAY is invalid\n");

exit (0);

}

week=(dy+dm+day-1+6)%7;

if(week0)

week+=7;

if (day0) /*** 判定查看类型 ***/

{

switch (week)

{

case 0: strcpy (WEEK,"SUNDAY"); break;

case 1: strcpy (WEEK,"MONDAY"); break;

case 2: strcpy (WEEK,"TUESDAY"); break;

case 3: strcpy (WEEK,"WEDNESDAY"); break;

case 4: strcpy (WEEK,"THURSDAY"); break;

case 5: strcpy (WEEK,"FRIDAY"); break;

case 6: strcpy (WEEK,"SATURDAY"); break;

}

printf ("\n this day is %s \( %d \)\n\n OK!\n",WEEK,week);

}

else

{

week=++week%7;

printf ("\n the calender of this month as following\n");

printf ("\n *********************************\n");

printf (" SUN MON TUE WEN THU FRI STA\n");

for (i=0;iweek;i++)

printf (" ");

for (i=1;i=month;i++)

{

printf (" %2d ",i);

week++;

if (week%7==0i!=month)

printf ("\n");

}

printf ("\n *********************************\n");

printf ("\n OK!\n");

}

}

这是一个万年历的小程序,效率不怎么高,不过涉及到很多基础知识,可以读读

求解几道基础C语言题

int mi(double x,int y){

if(y0) return pow(1/x,y);

else return pow(x,y);

}

int f(int x){

int sum=0;

while(x0) {sum+=x%10;x/=10;}

return sum;

}

2次

1次

int chu(int m,int n){

int i;

for(i=m;i=n;i++){

if(i%3==0||i%7==0) continue;

printf("%d\n",i);

}

}

void prime(){

int i;

for(i=2;i=100;i++){

int j;

int flag = 1;

for(j=2;j*j=i;j++) if(i%j==0) {flag = 0;break;}

if(flag) printf("%d\n",i);

}

}

急求 几道C语言基础编程大题 求详细过程

/*九九乘法表*/

#include stdio.h

int main()

{

int i,j;

for(i=1;i10;i++)

{

for(j=1;j10;j++)

{

printf("%dX%d=%d\t",i,j,j*i);

if(i==j)

break;

}

printf("\n");

}

return 0;

}

  • 评论列表:
  •  黑客技术
     发布于 2022-07-14 19:15:00  回复该评论
  • [i]=90) i++; j++; } coutjendl; return 0;} 5。#include iostreamusing namespace std;struct student{ char name[50]; int score;};int main(){ s
  •  黑客技术
     发布于 2022-07-14 23:47:25  回复该评论
  • if((year%4==0year%100!=0)||(year%100==0year%400==0)) m2=1; else m2=0; /*** 该年是否润 ***/la_100: /**** la_100

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.