當前位置:首頁 » 編程語言 » c語言edcbabcde
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言edcbabcde

發布時間: 2022-09-09 07:24:33

『壹』 c語言基礎知識

char a[20],b[20],c[20];
上面的a,b,c都是數組變數,在定義時已經為其分配棧內存,而
char (*str1)[20],(*str2)[20],(*str3)[20];
只是分配了4個位元組的內存來保存指針變數(即變數本身),而指針的值(即指向)還沒有,所以這些指針還不能保存數據!

--------------
char (*str1)[20],(*str2)[20],(*str3)[20];
str1 str2 str3均為指針,都指向長度為20的char數組.

你只定義了指針,但是沒有對其進行有效的初始化,沒有內存來保存數數據.

可以將這一行修改:
char (*str1)[20],(*str2)[20],(*str3)[20];
==>>
char arr[3][20];
str1 = arr[0];
str2 = arr[1];
str3 = arr[3];

其餘照舊就行了.

『貳』 c語言設計 幫忙~~


stract函數
#define NUM 5
#include<stdio.h>

lj(char b[10],char c[NUM])
{
int i;
for(i=5;i<10;i++)
{
b[i]=c[i-5];
if(b[i]=='\0')
{
break;
}
}
}
main()
{
char s[10]="abcde";
char a[NUM];
gets(a);
puts(a);
lj(s,a);
printf("zifuchuan lianjie hou is ");
puts(s);
}
strcmp 函數
#include<stdio.h>
main()
{
char a[5],b[5],i;
int numa,numb,cha;
gets(a);
gets(b);
numa=numb=0;
for(i=0;i<5;i++)
{
cha=a[i]-b[i];
if(cha!=0)
{
printf("cha shi %d!",cha);
break;
}
}
}
strcpy函數
#include<stdio.h>
main()
{
char s1[10],s2[10],i,j;
gets(s1);
gets(s2);
j=0;
while(s2[j]!='\0')
{
j++;
}
for(i=0;i<=j;i++)
{
s1[i]=s2[i];
}
puts(s1);
}

『叄』 C語言如何輸出ABCDCBA循環二維圖形矩陣

代碼:

#include <stdio.h>

int main()

{

char *s="ABCDCBABCDCBA";

int i;

for(i=0;i<7;i++)

printf("%.*s ",7,s+i);

return 0;

}

運行截圖:

『肆』 c語言字元串排序

#include&lt;stdio.h&gt;

#include&lt;string.h&gt;

#define SIZE 91

#define LIM 31

#define HALT""

void stsrt(char*strings[],int num);

int main(void)

{

char input[LIM][SIZE];

char*ptstr[LIM];

int ct=0;

int k=0;

printf("input up to%d lines,and I will sort them. ",LIM);

printf("To stop,press the enter key at a line's start. ");

while(ct&lt;LIM&&gets_s(input[ct],100)!=NULL&&input[ct][0]!='')

{

ptstr[ct]=input[ct];

ct++;

}

stsrt(ptstr,ct);

puts(" here's the sorted list: ");

for(k=0;k&lt;ct;k++)

{

puts(ptstr[k]);

}

puts(" here's the list: ");

for(k=0;k&lt;ct;k++)

{

puts(input[k]);

}

return 0;

}

void stsrt(char*strings[],int num)

{

char*temp;

int top,seek;

for(top=0;top&lt;num-1;top++)

{

for(seek=top+1;seek&lt;num;seek++)

{

if(strcmp(strings[top],strings[seek])&gt;0)

{

temp=strings[top];

strings[top]=strings[seek];

strings[seek]=temp;

}

}

}

(4)c語言edcbabcde擴展閱讀:

printf函數使用注意事項

1、域寬

%d:按整型數據的實際長度輸出。

如果想輸出指定寬度可以指定域寬,%md--&gt;m域寬,列印出來以後,在控制台上,顯示m位;

如果我們要列印的數的位數如果超過我們設定m則原樣輸出;

如果我們要列印的數的位數如果小於我們設定的位數,則補空白,具體如下:

如果m為正數,則左對齊(左側補空白);

如果m為負數,則右對齊(右側補空白)。

2、轉義字元

如果想輸出字元"%",則應該在「格式控制」字元串中用連續兩個%表示。

如:printf("%f%%",1.0/3);輸出結果:0.333333%。

『伍』 如何用遞歸函數在你輸入一個字母(不論大小寫)時將26個字母排成"....EdCbAbCdE....."的該字母之間的

#include<stdio.h>
char s[105];
char c,t;
void op(int m,int n)
{

if(m<0) s[2*t] = '\0';
else {
if(n%2)
s[m] = n+'a',s[2*t-m-2] = n+'a';
else
s[m] = n+'A',s[2*t-m-2] = n+'A';
op(m-1,n+1);
}
}
int main()
{
char d;
while(scanf("%c",&c) == 1) {
if(c>='a' && c<='z') t = c-'a'+1;
else t = c-'A'+1;
op(t-1,0);
printf("%s\n",s);
scanf("%c",&d);
}
return 0;

}

『陸』 void f(char c) { cout<<c; if(c=='a') return; f(c-1); cout<<c; } void main() { f('e'); }結果是什麼

結果是:edcbabcde
原理很簡單,這是一個遞歸函數,f(c) 裡面調用 f(c - 1)
因此在 f(c - 1) 前列印的先列印,是edcba 這樣列印的
然後if(c == 'a') return; 當c == 'a' 時就不再遞歸了,直接返回
而在f(c - 1) 後面的列印,則是 bcde 這樣列印,因為是要先調用了 f(c - 1) 裡面的所有列印,才調用外面的列印,因此是跟前面列印的順序是倒過來的

『柒』 A BAB CBABC DCBABCD EDCBABCDE 請問大神如何用C 語言完成

#include<stdio.h>
main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=n;j>=i;j--)
printf(" ");
for(j=i;j>0;j--)
putchar('A'+j-1);
for(j=1;j<i;j++)
putchar('A'+j);
printf("\n");
}
}

『捌』 c語言輸出…EdCbAbCdE…相鄰大小寫分開,對稱

# include<stdio.h>
void main()
{
char s1[ ]={"edcba"},s2[80];
int i=0,j=0;
//將s1字元串的內容復制到s2字元串中
while(s1[i]!='\0')
{
s2[j]=s1[i];
i++;
j++;
}
i--; //不包括結束標志
//實現對稱
while(i-->0)
s2[j++]=s1[i];
s2[j]='\0';
//相鄰大小寫
for(i=0;s2[i]!='\0';i++)
if(i%2==0)
s2[i]-=32;
puts(s2);
}

『玖』 用遞歸調用寫一個C程序

求人幫忙一點分都不給,沒誠意,再說問題也不復雜,看看書就會了

『拾』 求助,,用Csharp(C#)寫出該程序。。之前的那個形式寫錯了。。

string str = ""; char[] car=new char[]{'A','B','C','D','E'};
for (int i = 9; i >= 1; i = i - 2)
{
switch (i / 2)
{
case (4):
str += " " + car[0].ToString() + " " + "\r\n";
break;
case (3):
str += " " + car[1].ToString() + car[0].ToString() + car[1].ToString() + " " + "\r\n";
break;
case (2):
str += " " + car[2].ToString() + car[1].ToString() + car[0].ToString() + car[1].ToString() + car[2].ToString() + " " + "\r\n";
break;
case (1):
str += " " + car[3].ToString() + car[2].ToString() + car[1].ToString() + car[0].ToString() + car[1].ToString() + car[2].ToString() + car[3].ToString() + " " + "\r\n";
break;
case(0):
str += car[4].ToString() + car[3].ToString() + car[2].ToString() + car[1].ToString() + car[0].ToString() + car[1].ToString() + car[2].ToString() + car[3].ToString() + car[4].ToString();
break;
default:
break;

} }