① c語言編程問題,麻煩用數組編程,謝謝啦
C語言程序如下:
#include <stdio.h>
#define N 1000
void input(int arr[], int n);
void reverse(int arr[], int n);
void output(int arr[], int n);
int main()
{
int arr[N];
int n;
printf("input n : ");
scanf("%d", &n);
input(arr, n);
reverse(arr, n);
output(arr, n);
return 0;
}
/* 輸入n個元素,存儲在數組arr中 */
void input(int arr[], int n)
{
int i;
printf("input %d data : ", n);
for(i=0; i<n; i++)
{
scanf("%d", &arr[i]);
}
}
/* 翻轉數組元素 */
void reverse(int arr[], int n)
{
int i;
int temp;
for(i=0; i<n/2; i++)
{
temp = arr[i];
arr[i] = arr[n-1-i];
arr[n-1-i] = temp;
}
}
/* 輸出數組arr中的所有元素 */
void output(int arr[], int n)
{
int i;
printf("all data : ");
for(i=0; i<n; i++)
{
printf(" %d", arr[i]);
}
printf("
");
}
在Visual Studio C++ 6.0中測試通過:
② 求個C語言有關數組的程序
代碼拷貝——
#include "stdio.h"
int main(int argc,char *argv[]){
int a[10]={1,2,1,1,2,4,5,6,5,4},n,i,j,k;
for(n=10,i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(a[i]==a[j])
for(n--,k=i--,j=k+1;j<=n;a[k++]=a[j++]);
for(i=0;i<n;printf("%d ",a[i++]));
printf(" ");
return 0;
}
③ C語言程序設計(數組)
摘要 如何在已定義的數組裡面插入一個新的元素(數組元素為數字)
④ C語言數組程序
這個程序,是要先輸入一個<10的正整數n,然後再輸入n*n個整數到一個二維數組中。
最後,計算並輸出二維矩陣的主對角線及其右上方所有元素的累乘積(很容易「溢出」的哦!)。
⑤ C語言程序:數組
#include <stdio.h>
main()
{
int a[4][4];
int sum,mul,max,row,col;
int i,j;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
sum=0;
mul=1;
max=a[0][0];row=col=0;
for(i=0;i<4;i++)
{
/*對角線元素之和*/
sum+=a[i][i]+a[i][3-i];
/*次對角線從不滿足條件,無需計算乘積*/
if(i%2==0)mul*=a[i][i];
/*求最大*/
/*主對角線*/
if(max<a[i][i])
{ max=a[i][i];
row=col=i;
}
/*次對角線*/
if(max<a[i][3-i])
{ max=a[i][3-i];
row=i;
col=3-i;
}
}
printf("對角線元素的和:%d\n",sum);
printf("對角線元素的積:%d\n",mul);
printf("最大元素:%d,所在位置是%d行,%d列\n",max,row,col);
}
⑥ 求指教,以下皆用數組在c語言里編寫程序
#include <stdio.h>
//合並數組
//返回值為合並後的長度
int SortAddArray(int* buf, int size, const int* arr1, int len1, const int* arr2, int len2) {
if (NULL != buf && NULL != arr1 && NULL != arr2
&& len1 >= 0 && len2 >= 0 && size >= len1 + len2) {
int i = 0;
int j = 0;
for (int k = 0; k < size; ++k) {
if (i >= len1) {
buf[k] = arr2[j++];
}
else if (j >= len2) {
buf[k] = arr1[i++];
}
else if (arr1[i] <= arr2[j]) {
buf[k] = arr1[i++];
}
else {
buf[k] = arr2[j++];
}
}
return len1 + len2;
}
else {
return -1;
}
}
int ShowArray(const int* arr, int len) {
if (NULL != arr && len >= 0) {
if (0 != len) {
for (int i = 0; i < len - 1; i++) {
printf("%d,", arr[i]);
}
printf("%d\n", arr[len - 1]);
return len;
}
else {
return 0;
}
}
else {
return -1;
}
}
int main(int argc, char* argv[]) {
int a[4] = { 1,2,4,5 };
int b[6] = { 0,2,3,3,5,6 };
int c[10];
SortAddArray(c, 10, a, 4, b, 6);
ShowArray(a, 4);
ShowArray(b, 6);
ShowArray(c, 10);
return 0;
}
⑦ c語言二維數組實例
以下是幾個簡單的C語言二維數組實例代碼
輸出第n行的楊輝三角形:
#include<stdio.h>
voidmain()
{
inti,j,n; inta[100][100]={0};//定義一個二維數組。
scanf("%d",&n);
a[0][1]=1;
for(i=1;i<n;i++)
for(j=1;j<i+2;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<n;i++)
{
for(j=1;j<i+2;j++)
printf("%d ",a[i][j]);
printf(" ");
}
}樣例輸入:5
樣例輸出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
將一個n*m矩陣的行和列互換,並輸出:
#include<stdio.h>
voidmain()
{
inti,j,n,m;
inta[100][100],b[100][100];
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
b[j][i]=a[i][j];
}
printf("輸出原矩陣: ");
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%d ",a[i][j]);
printf(" ");
}
printf("輸出互換後的矩陣: ");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d ",b[i][j]);
printf(" ");
}樣例輸入:
2 3
15 46 47
16 3 48
樣例輸出:
輸出原矩陣:
15 46 47
16 3 48
輸出互換後的矩陣:
15 16
46 3
47 48
⑧ c語言數組的舉例
1:聲明一個3x4的二維數組,
2,第一個for將每一個二維數組的第一個元素依次賦值給l
3,第二個for是依次得到二維數組的沒個元素,同時判斷是否大於1(我懷疑這應是l而不是1),
是就將其賦值給l,同時將數組b賦值為1,1,1
4,輸出字元串narray b:,並換行
5,以5個字幅寬度依次輸出二維數組a
6,同樣的5個字幅寬度輸出數組b。
⑨ c語言什麼程序能用到數組大神給我舉個例唄,200行以上的
這里是借用第三個數組。
原理:先將兩個數組復制到第三個數組中,然後對第三個數組排序
如果不使用第三個函數,那麼下面這個函數一樣可以做到,不過函數聲明就要改成:
char* fun(char *dest, char *str, char *dest)
/*------------------------------函數--------------------------------*/
char* fun(char *str1,char *str2,char *dest) //前提,目標數組能偶容納兩個數組
{
char *tmp=dest;
char *tmp_dest=dest;
if(!dest)
return NULL;
while(*str1) //將str1復制進dest
*tmp++=*str1++;
while(*str2) //將str2復制進dest
*tmp++=*str2++;
tmp_dest--; //
while(*++tmp_dest) //選擇排序法
{
char *tmp_px=NULL;
tmp=tmp_dest;
while(*++tmp) //找到後面一串的最值
{
if(*tmp_dest<*tmp)
tmp_px=tmp;
}
if(!tmp_px)
{
char ch=*tmp_dest;
*tmp_dest=*tmp_px;
*tmp_px=ch;
}
}
return dest;
}
⑩ C語言如何輸入一個數組
1、輸入數組需要使用指針獲取地址後,就能對得到的數組就行操作了。首先打開DEV C++軟體,新建一個空白的C語言文件: